home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr55 / cld9linx.zip / CLD9LINX.TXT
Text File  |  1993-06-08  |  289KB  |  7,076 lines

  1. Archive-name: linux-faq/part1
  2. Last-Modified: 93/06/07
  3. Version: 1.18
  4.  
  5. *********************************************************
  6. *       *
  7. *   Answers to Frequently asked questions about Linux   *
  8. *       *
  9. *********************************************************
  10.  
  11. This post contains Part 1 of the Linux FAQ (5 parts)
  12.  
  13. Hi Linuxers!
  14.  
  15. The original FAQ 1st version was posted on Dec. 19, 1991 by Robert Blum.
  16.  
  17. Most credits to Linus, Robert and Ted for the departure point of this
  18. work. The first X11 section was written by Peter Hawkins, the rest was
  19. either on the list posted by many (real) activists, not me ;-), either
  20. in some other news groups, or else by direct posting to me (thanks
  21. Humberto, Dan, Michael, Drew, Audoin). I haven't systematically
  22. copyrighted them, so thanks to every one who participated even
  23. indirectly to this FAQ.
  24.  
  25. Since September 1992, the FAQ is co-written by:
  26.  
  27.  
  28. WHO    (WHAT)   E-MAIL
  29. =============================================================================
  30. Michael K. Johnson   (META-FAQ)  johnsonm@stolaf.edu
  31. Matt Welsh  (GENERAL INFO) mdw@tc.cornell.edu
  32. Zane Healy  (BBS INFO) healyzh@holonet.net
  33. Matt Welsh  (INSTALLATION) mdw@tc.cornell.edu
  34. Peter MacDonald  (SLS INFO) pmacdona@sanjuan.uvic.ca
  35. Mark Komarinski  (DOS)    komarimf@craft.camp.clarkson.edu
  36. Drew Eckhardt  (SCSI)  drew@cs.colorado.edu 
  37. Rick Miller  (DEVICE INFO) rick@ee.uwm.edu
  38. Hongjiu Lu  (GCC)  hlu@eecs.wsu.edu
  39. Krishna Balasubramanian (X11)  balasub@cis.ohio-state.edu 
  40. Rick Sladkey  (EMACS)  jrs@world.std.com
  41. Philip Copeland  (NET INFO) p_copela@csd.bristol-poly.ac.uk
  42. Brian McCauley  (LPD)  B.A.McCauley@bham.ac.uk
  43. Dirk Hohndel  (PROOF READER) hohndel@informatik.uni-wuerzburg.dbp.de
  44. Marc-Michel Corsini (FAQ collector) corsini@{labri,firmin}.greco-prog.fr
  45. =============================================================================
  46.  
  47. If anyone is interested in participating with this FAQ, just send me a
  48. note with: your name/e-mail and the section you want to maintain.  
  49.  
  50. Many of the questions could be avoided, if people had read the FAQ of
  51. the following newsgroups: news.announce.newusers, comp.lang.c,
  52. gnu.emacs.help,  comp.unix.questions, comp.windows.x.i386unix.  
  53.  
  54. [The last-change-date of this posting is always "two minutes ago".  :-)]
  55.  
  56. This is the introduction to a list of frequently asked questions (FAQ
  57. for short) about Linux with answers (Yeap!).  This article contains a
  58. listing of the sections and queries.
  59.  
  60. This FAQ is supposed to reduce the noise level ;-) in the
  61. comp.os.linux newsgroup, and spare the time of many activists. I will
  62. cross-post it each month to news.answers. This FAQ is NOT an
  63. introduction to UNIX, there are many books for unix, and there is
  64. *also* a FAQ for unix (it's the one of comp.unix.questions which
  65. contains things such as "How do I remove a file named -". I DO NOT
  66. WANT TO ADD SUCH THINGS IN THIS FAQ DEVOTED TO LINUX.
  67.  
  68. Some books to read: 
  69.   The C Programming Language: Kernighan & Ritchie
  70.   POSIX Programmer's Guide: D. Lewine
  71.   Unix System Administration Handbook: Nemeth, Snyder & Seebass.
  72.   Unix for the Impatient: Abrahams & Larson
  73.   Unix System V Release 4, An Introduction, by Rosen, Rosinski and
  74.     Farber; Publisher Osborne MacGraw-Hill.
  75.   The X Windows System in a Nutshell: O'Reilly.
  76. .....
  77.  
  78. This FAQ is available at the main Linux sites in the doc directory,
  79. the addresses are given in section II. of this FAQ. There is also an
  80. archive of (all) FAQs at rtfm.mit.edu [18.172.1.27]. Have a look in
  81. the anonymous ftp directory: /pub/usenet/news.answers/linux-faq.
  82. If you do not have anonymous ftp access, you can access the archive by
  83. mail server. Send mail to mail-server@rtfm.mit.edu with the words
  84. "help" and "index" in the body on separate lines for more information.
  85.  
  86. The information in this multi-parts FAQ is likely to change relatively
  87. quickly. If this is more than two months old (it was released on
  88. February 1993) then you should obtain a new copy. See the paragraph
  89. above for details of where to find a more recent version.
  90.  
  91. Please suggest any change, rephrasing, deletions, new questions,
  92. answers ...  
  93. Please include "FAQ" in the subject of messages sent to me about FAQ.  
  94. Please send them to linux@numero6.greco-prog.fr whatever will be the
  95. >From part of this message. Finally discussion about the FAQ can be
  96. done on the DOC Channel (see section II).
  97.  
  98.  
  99. Thanks in advance,
  100.     Marc
  101.  
  102. The FAQ can be found in LaTeX version, thanks to Pepe Flores Peters.
  103.  
  104. Future Plan:
  105.  
  106.  - provide FAQ as diff too, since it seems to stay stable
  107.    except for very few sections.
  108.  - perform automatic post to c.o.l, c.o.l.a, c.a and n.a 
  109.    every month as I promised long time ago.
  110.  
  111. ================================8<=====8<==============================
  112. CONTENTS (of this part)
  113.  
  114.  0. WARNINGS    (part1)
  115.  I. LINUX GENERAL INFORMATION  (part1)
  116.  II. LINUX USEFUL ADDRESSES   (part1)
  117.  
  118. ================================8<=====8<==============================
  119.  
  120.  
  121. 0. WARNINGS
  122. ===========
  123.  
  124. The FAQ contains a lot of information sometimes I've put it down 
  125. in 3 different ways because people seems not to understand what they
  126. read (or what I wrote, you know I'm just a froggy and english is not
  127. my natural language). What I mean is that not all is in the FAQ but 
  128. many things are there, so please just take time to read it this will 
  129. spare a lot of the other linuxers [and if you think I should rephrase
  130. some Q/A just drop me a note with the corrections].
  131.  
  132. As the Linux kernel changes monthly (and even more ...), I define 2
  133. pseudo variables a la C one for the version, and one for the date of
  134. the release.  
  135.  
  136. #define CURRENT_VERSION    0.99     /* the current version */
  137. #define PATCH_LEVEL    pl10     /* the patch level */
  138. #define KERNEL_DATE    29, May  /* Date of the CURRENT_VERSION */
  139.  
  140. In what follows I'll consider CURRENT_VERSION as the current version.
  141.  
  142. > From: Linus.Torvalds@cs.Helsinki.FI (Linus Torvalds)
  143. > Subject: Re: New pl10 uploaded
  144. > Date: Sat, 29 May 1993 17:21:35 +0300
  145. > I uploaded a new version of the ALPHA-pl10 to nic.funet.fi: this one
  146. > contains some more fixes for the networking code, along with various
  147. > other minor changes (including the math emulation fix).  The directory
  148. > is, as before, pub/OS/Linux/PEOPLE/Linus.  I'd suggest removing any old
  149. > traces of linux before unpacking this, so that you won't have problems
  150. > with old object files etc. 
  151. > Also note that Fred put the new networking binaries on tsx-11 the other
  152. > day, so you should probably get them from pub/linux/packages/net/net-2. 
  153. > I'd suggest getting at least the 'net-base' and 'net-std' packages of
  154. > binaries, as they contain the config programs as well as all the normal
  155. > networking binaries. 
  156. > I'd be especially interested to hear comments from the people who were
  157. > unable to get the previous alpha-pl10 working.  Does this one work for
  158. > you? If it doesn't *please* mail me directly, as that problem is now the
  159. > only thing keeping me from a real release. 
  160. > To recap, pl10 gives you roughly:
  161. >  - new net-2 code (FvK) along with the newest drivers from Donald.
  162. >  - IPC doesn't need patching (Krishna Balasubramanian).
  163. >  - various FPU-emulation details fixed (Bill Metzenthen)
  164. >  - ext2fs updates by Remy Card and Steven Tweedie.
  165. >  - dynamic inode and file allocation (Steven Tweedie) with hash tables
  166. >    for better inode lookup etc.  Hopefully no more EMFILE errors.
  167. >  - updated fdomain driver by Rik Faith (along with some other SCSI
  168. >    changes by others)
  169. >  - tty changes by Tytso and others.
  170. >  - new uname() call for extended info (ie domain). HLU.
  171. >  - iBCS signal stacks and stubs for 'lcall 7,0'.
  172. >  - buffer cache / code page sharing.  Small changes since the last
  173. >    ALPHA-diff, as people with 4MB reported that the old code didn't
  174. >    relinquish pages very nicely. 
  175. >  - updated 'clone()' - it didn't actually work with 'execve()' before,
  176. >    and there may still be some problems.  Untested. 
  177. >  - various other changes: I've probably forgotten half the changes since
  178. >    0.99pl9. 
  179. > Please test it out, and if you have problems, mail me about them so that
  180. > I know about it.  Feel free to send them to the mailing list and
  181. > newsgroup too, of course, but at least include a mail to me - I'm
  182. > working on finding the reason for the bootup problems that two persons
  183. > have experienced: the more data I can get on this, the merrier. 
  184. >   Linus
  185.  
  186.  
  187. I. LINUX GENERAL INFORMATION 
  188. =============================
  189. *** This section is maintained by Matt Welsh (mdw@tc.cornell.edu). Mail
  190. *** him if you have corrections, additions, other questions, etc. 
  191. *** Last update June 1993.
  192.  
  193.    I.01)  What is linux?
  194.  
  195. ANSWER: Linux is a free, copylefted full-featured UNIX for 386 and 486
  196. machines which use the AT bus. It is still in "beta testing" (the current
  197. version number of the kernel is less than 1.0) but is being used worldwide
  198. by thousands (?) of people.
  199.  
  200. (*) Free means that you may use it, change it , redistribute it, as
  201. long as you don't change the copyright. Free does not mean public
  202. domain. Linux is copylefted under the GNU General Public License.
  203.  
  204. Linux is a freely distributable UNIX clone.  It implements a subset of
  205. System V and POSIX functionality, and contains a lot of BSD-isms.
  206. LINUX has been written from scratch, and therefore does not contain
  207. any AT&T or MINIX code--not in the kernel, the compiler, the
  208. utilities, or the libraries.  For this reason it can be made available
  209. with the complete source code via anonymous FTP.  LINUX runs only on
  210. 386/486 AT-bus machines; porting to non-Intel architectures is likely
  211. to be difficult, as the kernel makes extensive use of 386 memory
  212. management and task primitives. 
  213.  
  214.    I.02)   Does Linux support GCC, TCP/IP, X-Windows, MGR, etc.?
  215.  
  216. ANSWER: Linux currently supports and uses a large amount of the GNU
  217. software (i.e. GCC, bison, groff, etc) so all of that functionality is
  218. there. X-Windows is also available, along with many client
  219. applications. MGR is there too. TCP/IP is available. I use Linux boxes as 
  220. Xterminals and my "own" asterix has mounted half a Gig via NFS. Mitch DSuoza 
  221. is running an anonymous FTP server on his Linux box. This is definitely
  222. more than testing. 
  223.  
  224. See section IX of this FAQ ("Features")!
  225.  
  226. In short, Linux supports many, many features and programs. One of the
  227. biggest questions is: "Does ***** work on Linux? Does Linux have *****?" 
  228. The answer, usually, is "yes". Just check out the rest of this FAQ,
  229. the newsgroup, as well as the files on the FTP sites. 
  230.  
  231.  
  232.    I.03)   What is the current state of Linux?
  233.  
  234. ANSWER: read the comp.os.linux newsgroup, where the INFO-SHEET is
  235. periodically posted. You can also read comp.os.linux.announce, which
  236. is a moderated newsgroup, has a lot less traffic, and contains all
  237. of the "important" information on Linux.
  238.  
  239.    I.04)  Linux sounds great, but where do I get it and how do I 
  240. install it? 
  241.  
  242. ANSWER: FIRST read this FAQ, and especially section III (installation).  
  243. There is no single, "official" release of Linux--- instead, there
  244. are several independent releases, all with their own advantages and
  245. disadvantages. The SLS release is the de facto standard.
  246.  
  247. Choose a "release" of Linux (such as the SLS release, TAMU, bootdisk/
  248. rootdisk, etc). Download from your nearest FTP site, and put it on 
  249. floppies. Specific instructions are given in section III and in the 
  250. README files for each release.
  251.  
  252. Note that some releases only give you the kernel and a few utilities,
  253. and others give you everything you need (including X11, GCC, and more)
  254. in that latter case the downloading is close to a douzen of SOFT. Just
  255. check out section III for more info.
  256.  
  257.  
  258.    I.05)  Sounds good, but all of these docs are very confusing. Is
  259. Linux really difficult to install and use?
  260.  
  261. ANSWER: This FAQ, as you can see, if very large. This is mostly because
  262. it's full of every single frequently asked question about Linux on the
  263. net. In essence, it's very simple: to get started with Linux, download
  264. the SLS release, put it onto floppies (see section III), repartition your
  265. drive, and install the software. 
  266.  
  267. If you're new to the UNIX world, Linux (as with any UNIX) is going to
  268. be difficult to understand at first. There isn't a lot of real 
  269. documentation (other than this FAQ) out there. The Linux Doc Project
  270. (mail `mdw@tc.cornell.edu' for info) is working on a set of Linux manuals
  271. which should solve this problem. However, Linux is a hacker's UNIX, in
  272. many ways: it was developed by experienced UNIX hacks for experienced
  273. UNIX hacks. People are working on making it more "newbie-friendly", 
  274. however, keep in mind that this is an afterthought. Linux was never meant
  275. to be the huge popular free UNIX that it has become, and the lack of 
  276. documentation doesn't bother UNIX wizards who can figure it out from 
  277. just poking around.
  278.  
  279.  
  280.    I.06)  What's the best advice you can give to a Linux newbie?
  281.  
  282. ANSWER: Go read a *good* book on using UNIX before you even get started.
  283. Jumping cold-turkey into the Linux world from DOS is going to be quite
  284. difficult. Also remember that you'll be running the system, as well
  285. as using it, so get a book on UNIX system administration. 
  286.  
  287. Too many folks post questions to comp.os.linux which aren't Linux 
  288. specific at all, and thus aren't covered in this FAQ. (i.e. "How to 
  289. remove a file called '-i'?). If you can't figure out something, it's 
  290. more than likely a misunderstanding of UNIX concepts, not a bug in Linux. 
  291. Please read up on UNIX (see the comp.unix.questions FAQ; that's a good 
  292. one) before you get started.
  293.  
  294.  
  295.    I.07)  Does it run on my computer?
  296.  
  297. ANSWER: Linux has been written on a clone-386, with IDE drives and a
  298. VGA screen. It should work on most similar setups. The harddisk should
  299. be AT-standard, and the system must be ISA. (though *some* EISA
  300. success has been reported [T. Koenig], Linux doesn't take advantage of
  301. the EISA structure).  A high density floppy drive -- either 5.25" or
  302. 3.5"-- is required for installation.
  303.  
  304. {Drew's information: Linux supports anything that's register compatable 
  305. with a WD1003 MFM disk controller (ie, the original PC-AT disk controller.)  
  306. Most AT MFM, RLL, ESDI, and IDE setups look like this.  
  307.  
  308. There is an alpha driver for the XT disk controller, but in general it's
  309. best to have an AT controller. Mail smackinla@cc.curtin.edu.au about 
  310. the XT controller.
  311.  
  312. Generally, the rule is if you have the disk configured into the 
  313. CMOS setup of your machine, it will work (because the BIOS is talking 
  314. to a WD 1003 compatable board), otherwise it won't.}
  315.  
  316. IDE and MFM seem to work with no problem. It works, also, for some
  317. ESDI drive (you might have to comment out the "unexpected hd
  318. interrupt"-messages). There exists a high-level SCSI driver, under which 
  319. low-level drivers are placed; a ST-01/ST-02 low driver has been completed 
  320. see the FEATURES and the USEFUL ADDRESSES sections.
  321.  
  322. Otherwise the requirements seem relatively small: a 386 (SX, DX or any
  323. 486).  Any video card of the following: Hercules, CGA, EGA, (S)VGA.
  324.  
  325. It needs at least 2M to run (with SWAP), and 4M is definitely a plus.
  326. It can happily use up to 16M (and more if you want). 
  327.  
  328. BTW There are problems with some MAXTOR drives on high speed machines
  329. (sometimes switching off "turbo" helps). There may also be a problem
  330. with "slow" memory (under 60ns) on fast  machines. Again, the solution
  331. is to turn off "turbo". Mixed SIMMs (3 and 9 chip versions) have also
  332. reported to be problematic. 
  333.  
  334. NOTE: It doesn't run (yet?) on a MCA machine (such as the IBM PS/2 line).
  335.  
  336.  
  337.    I.08)   How much space will Linux take up on my hard drive?
  338.  
  339. ANSWER: It depends on which release you choose. See the section
  340. INSTALLATION below. Usually it's somewhere between 10 megs (for a
  341. nominal system+swap space) and 80 megs (for everything plus space
  342. for user directories, etc.). 
  343.  
  344.  
  345.    I.09)   Will Linux run on a PC or 286-AT? If not, why?
  346.  
  347. ANSWER: Linux uses the 386 chip protected mode functions extensively,
  348. and is a true 32-bit operating system. Thus x86 chips, x<3, will
  349. simply not run it.
  350.  
  351.  
  352.    I.10)   Will Linux run on a 386 Laptop?
  353.  
  354. ANSWER: It works, including X on most of them.
  355.  
  356.  
  357.    I.11)   Why the suggested 4Meg, for Linux?
  358.  
  359. ANSWER: Linux uses the first 640k for kernel text, kernel data and
  360. buffercache. Your mother board may eat up 384K because of the chipset.
  361. Moreover there is: init/login, a shell, update possibly other daemons.
  362. Then, while compiling there is make and gcc (2.01 ~770k).
  363. So you don't have enough real memory and have to page.
  364.  
  365.  
  366.    I.12)   How would this operate in an OS/2 environment?
  367.  
  368. ANSWER: Linux will coexist with *ANY* other operating system(s) which
  369. respects the "standard" PC partioning scheme - this includes Dos,
  370. Os/2, Minix etc. 
  371.  
  372. WARNING: Linux and OS/2 *can* co-exist on the same machine. BUT, you
  373. cannot use Linux's fdisk to make Linux partitions! See the warnings in
  374. section III about Linux and OS/2.
  375.  
  376.  
  377.    I.13)  (Dan) How long has Linux been publicly available?
  378.  
  379. ANSWER (partial): Few months, v0.10 went out in Nov. 91, v0.11 in Dec.
  380. and the current version CURRENT_VERSION is available since
  381. KERNEL_DATE.  But even it is pretty recent it is quite reliable. There
  382. are very few and small bugs and in its current state it is mostly
  383. useful for people who are willing to port code and write new code. As
  384. Linux is very close to a reliable/stable system, Linus decided that
  385. v0.13 will be known as v0.95.  Believe it or not: the whole story
  386. started (nearly) with two processes that printed AAAA... and BBBB...
  387. BTW consult the digest#136 Vol2 for a complete story.
  388.  
  389.  
  390.    I.14)  How reliable is Linux, anyway?
  391.  
  392. ANSWER: Very much so. The only real "bugs" that we see are with
  393. alpha drivers (that's why they're alpha) and with some parts of
  394. the TCP/IP code. For 99% of applications, however, Linux is very
  395. robust. Linux and Xwindows is faster on a 486-33 than on many
  396. Sun workstations with the same amount of RAM, running SunOS. 
  397.  
  398.  
  399.    I.15)   What is the proper pronounciation for "Linux"?
  400.  
  401. ANSWER: (Linus himself)
  402. 'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc. 
  403. 'nux' is also short, non-diphtong, like in pUt.  It's partly due to
  404. minix: linux was just my working name for the thing, and as I wrote it
  405. to replace minix on my system, the result is what it is...  linus' minix
  406. became linux. 
  407.  
  408. I originally intended it to be called freax (although buggix was one
  409. contender after I got fed up with some of the more persistent bugs :)
  410. and I think the kernel makefiles up to version 0.11 had something to
  411. that effect ("Makefile for the freax kernel" in a comment).  But arl
  412. called the linux directory at nic.funet.fi pub/OS/Linux, and the name
  413. stuck.  Maybe just as well: freax doesn't sound too good either (freax
  414. is obviosly free + freak + the obligatory -x). 
  415.  
  416. (Rick's note for English speakers:  Linux - "LIH-nuhks".)
  417.  
  418.  
  419.    I.16)   What's about the copyright of linux?
  420.  
  421. ANSWER: This is an except of the RELEASE Notes v.095a: Linux is
  422. NOT public domain software, but is copyrighted by Linus Torvalds. The
  423. copyright conditions are the same as those imposed by the GNU
  424. copyleft: The GNU GENERAL PUBLIC LICENSE Version 2, June 1991 is part
  425. of the source tree.
  426.  
  427.  
  428.    I.17)  Should I be a UNIX and/or a DOS wizard to install/use Linux?
  429.  
  430. ANSWER: Not at all, just follow the install rules, of course it will be 
  431. easier for you if you know things about Unix. Right now Linux is used
  432. by more than BIGNUM persons, very few of them enhance the kernel, some
  433. adds/ports new soft, most of us are only (but USEFUL) beta testers.
  434. Last but not least, various Linuxers work on manpages, newuser_help,
  435. file-system organization. So join us and choose your "caste".
  436.  
  437. It is even used in production environments (Dr. G.W. Wettstein).
  438.  
  439.  
  440.    I.18)  Does Linux use TSS segments to provide multitasking?
  441.  
  442. ANSWER: Yes!
  443.  
  444.  
  445.    I.19)  If my PC runs under Linux, is it possible to ftp, rlogin,
  446. rsh etc.. to other Unix boxes?
  447.  
  448. ANSWER: Yes; Linux supports serial communications (kermit), pseudo-SLIP
  449. (with ka9q), and TCP/IP. Bona fide SLIP is on its way. Read the NET-FAQ
  450. (see section IX) for information on networking.
  451.  
  452.  
  453.    I.20)   Does linux do paging? Can I have virtual memory on my small
  454. machine?
  455.  
  456. ANSWER: Yes, it does. Generally you set up a swap file or partition, and
  457. enable it with the "swapon" command. Voila! Virtual memory.
  458.  
  459.  
  460.    I.21)   Can I have tasks spanning the full 4GB of addressable 386
  461. memory? No more 64kB limits like in coherent or standard minix?
  462.  
  463. ANSWER: Since 0.97 it uses 4 GB Process Space, 3 for userspace and
  464. 1 for the kernel space.
  465.  
  466.  
  467.    I.22)   Does the bigger program sizes mean I can run X?
  468.  
  469. ANSWER: Yes! See section XII below for details on X11.
  470.  
  471.  
  472.    I.23)   What are the differences, pros and cons compared to Minix ?
  473.  
  474. ANSWER (partial): 
  475. Cons: 
  476. - Linux only works on 386 and 486 processors.  
  477. - Linux needs 2M of memory just to run, 4M to be useful.  
  478. - Linux is a more traditional unix kernel, it doesn't use message
  479. passing. 
  480.  
  481. Pros: 
  482. - Linux is free, and freely distributable, BUT copyrighted.  
  483. - Linux has some advanced features such as:
  484.   - Memory paging with copy-on-write
  485.   - Demand loading of executables
  486.   - Page sharing of executables
  487.   - Multi-threaded file system
  488.   - job control and virtual memory, virtual consoles and pseudo-ttys.
  489. - Linux is a more traditional unix kernel, it doesn't use message
  490. passing.
  491.  
  492.  
  493.    I.24)   What are the pros and cons compared to 386BSD ?
  494.  
  495. ANSWER: Linux and 386BSD started out as completely different projects,
  496. with completely different goals and design criteria in mind.
  497.  
  498. there are newsgroups devoted to 386BSD : comp.os.386bsd.*
  499.  
  500. - I have seen in may the first attempt for 386BSD FAQ. Nevertheless
  501.   the Linux FAQ is not bug free, and contains some outdated information.
  502. - 386BSD can do POSIX and BSD
  503. - Linux can do POSIX, SYSV and some BSD stuff
  504. - Linux was developed with portability in mind. So it's not directly
  505.   System V, nor is it directly BSD. It's the best of both worlds,
  506.   a la SunOS. :)
  507.  
  508. For most of the *nix* users both systems are fairly usable, but none
  509. of them are bug free. 
  510.  
  511.  
  512.    I.25)   Why can't we split comp.os.linux ?
  513.  
  514. ANSWER: (Ian Jackson)
  515. There is a procedure for creating new newsgroups, involving discussion
  516. periods and votes; it can be found in news.announce.newgroups.
  517.  
  518. In November 1992 I (Ian Jackson) started a formal discussion
  519. under that procedure and duly held a vote for four new groups,
  520. comp.os.linux.announce (moderated), comp.os.linux.questions,
  521. comp.os.linux.bugs and comp.os.linux.misc.
  522.  
  523. There was quite a heated argument, with many people (esp from Fidonet
  524. and the news->mail gateway) complaining that if the group split they
  525. wouldn't be able to read it.
  526.  
  527. At the end of the vote the results were as follows (culled from the
  528. announcement at the end of the voting period):
  529.  
  530.                 yes    no   abs    diff    ratio      result why     to change
  531. .announce       479   131     3     348    3.6564885   PASS             249
  532. .questions      380   217    16     163    1.7511521   FAIL (ratio)      54
  533. .bugs           390   212    11     178    1.8396226   FAIL (ratio)      34
  534. .misc           390   207    16     183    1.8840580   FAIL (ratio)      24
  535.  
  536.  diff = number more yes than no votes - this must be >=100 for a group
  537.  to pass. 
  538.  ratio = ratio of yes to no votes - this must be >=2 for a group to
  539.  pass. 
  540.  to change = the minimum number of votes which would have been
  541.  required to change the result (if they were all "yes" or "no"
  542.  as appropariate). 
  543.  
  544. The guidelines say that unless a group gets at least twice as many
  545. "yes" as "no" votes and at least 100 more "yes" than "no" votes it
  546. won't be created. Hence all the new groups except .announce failed.
  547. Comp.os.linux.announce now exists: the submission address is via
  548. Matt Welsh (linux-announce@tc.cornell.edu).
  549.  
  550. The guidelines also say that you have to wait at least 6 months after
  551. a failed vote before trying again - this to stop the obvious problem
  552. of failed groups coming back over and over again.
  553.  
  554. Hence any more discussion of proposed splits is futile until at least
  555. very late in June. In any case, such a discussion should take place in
  556. the group reserved for that purpose, news.groups, not in
  557. comp.os.linux.
  558.  
  559.  
  560.  
  561. II. LINUX USEFUL ADDRESSES 
  562. =========================
  563.  
  564.  
  565. II.A. LINUX ON THE NET: ftp, mailing-list
  566. II.B. OBTAINING LINUX FROM BBS'S: everything about bbs
  567.  
  568.  
  569. II.A. LINUX ON THE NET
  570. ~~~~~~~~~~~~~~~~~~~~~~
  571.  
  572.   II.01)  Where can I get linux?
  573.  
  574. ANSWER: Linux (all the software, binaries, sources, releases, and so on),
  575. can be retrieved via anonymous FTP from :
  576.  
  577. [ Major sites ]
  578. EUROPE:
  579.  nic.funet.fi (128.214.6.100):
  580.   directory /pub/OS/Linux
  581.  ftp.informatik.tu-muenchen.de (131.159.0.110)
  582.   directory /pub/Linux
  583.  
  584. US: 
  585.  tsx-11.mit.edu (18.172.1.2):
  586.   directory /pub/linux
  587.  sunsite.unc.edu (152.2.22.81):
  588.   directory /pub/Linux
  589.  
  590. [ Mirroring sites (some of them, there are lots now) ]
  591.  
  592. AUSTRALIA:
  593.  kirk.bu.oz.au (131.244.1.1)
  594.   directory /pub/OS/Linux
  595.  
  596. EUROPE:
  597.         src.doc.ic.ac.uk (146.169.2.1):
  598.   directory packages/Linux
  599.  ftp.mcc.ac.uk (130.88.200.7):
  600.   directory pub/linux
  601.  ftp.dfv.rwth-aachen.de (137.226.4.105):
  602.   directory /pub/linux
  603.  ftp.informatik.rwth-aachen.de (137.226.112.172):
  604.   directory /pub/Linux
  605.  ftp.ibr.cs.tu-bs.de (134.169.34.15):
  606.   directory /pub/os/linux
  607.  
  608. JAPAN:
  609.   kuis.kyoto-u.ac.jp (130.54.20.1):
  610.   directory /Linux 
  611.      /Linux/mirror (for the tsx mirror)
  612. KOREA:
  613.  cair.kaist.ac.kr (143.248.11.170):
  614.   mirror of sunsite; directory pub/Linux
  615.  
  616. US:
  617.  wustl.wuarchive.edu (128.252.135.4):
  618.   directory /pub/mirrors4/linux
  619.  ftp.eecs.umich.edu (141.212.99.7):
  620.   directory linux
  621.  
  622.  
  623. You might want to check out which of these is the most up-to-date.
  624.  
  625. > (From: Lee M J McLoughlin <lmjm@doc.ic.ac.uk>)
  626. > src.doc.ic.ac.uk:
  627. >
  628. > We are also on Janet (the main UK academic network) as
  629. > uk.ac.ic.doc.src (000005102000).
  630. > More useful perhaps is we are the only big archive available via FTAM,
  631. > the ISO equivalent to FTP.  We can be reached either over the
  632. > internet or janet (see above addresses) or via the European IXI
  633. > network on 204334504108
  634.  
  635.  
  636. If you have no FTP capability, you are in trouble. See the next Q/A.
  637. Also, you'll need the "UNCOMP.EXE" and "RAWRITE2.EXE" programs for DOS
  638. (to make your install disks). These are usually found in the Linux
  639. directories on the above FTP sites.
  640.  
  641.  
  642.   II.02)  I do not have FTP access, what can I do to get linux?
  643.  
  644. ANSWER: You can either read the next subsection related to BBS's
  645. otherwise, read the following.
  646.  
  647. The SLS release is distributable by snail-mail on floppies for those
  648. without net access; see the SLS section in section III of this FAQ for
  649. more. 
  650.  
  651. Try to contact a friend on the net with those access, or try
  652. mailserver/ftpmail server otherwise contact tytso@ATHENA.MIT.EDU. You
  653. might try mailing "mailserver@nic.funet.fi" with "help" in the body of
  654. the mail.  If you choose ftpmail server (example: ftpmail@doc.ic.ac.uk,
  655. ftpmail@decwrl.dec.com), with "help" in the body, the server will send
  656. back instructions and command list. As an exemple to get the list of
  657. files available at tsx-11 in /pub/linux send:
  658.  
  659.   mail ftpmail@decwrl.dec.com
  660.   subject: anything
  661.   reply <your e-mail>
  662.   connect tsx-11.mit.edu
  663.   chdir /pub/linux
  664.   dir -R
  665.   quit
  666.  
  667. In Europe ftp.informatik.tu-muenchen.de is accessible via e-mail (send
  668. "help" in the body to ftp-mailer@informatik.tu-muenchen.de)
  669.  
  670.  
  671.   II.03)  Is there a newsgroup or mailing-list about linux? 
  672.  
  673. ANSWER: The comp.os.linux newsgroup is literally *teeming* with postings.
  674. So, to the first question, yes. :) The older newsgroup, alt.os.linux,
  675. is being phased out and shouldn't be used anymore.
  676.  
  677. If you don't have news access you can get the digest of postings via
  678. e-mail from: Linux-activists-request@news-digests.mit.edu. This list
  679. is gatewayed to the newsgroup as well. Only use the 'request' address
  680. for subscribe/unsubscribe messages; don't post those to the newsgroup
  681. or to the actual mailing list.
  682.  
  683.  
  684. And last but not least there is the original mailing-list, which is
  685. now a multi-channel list. 
  686.   contact linux-activists-request@niksula.hut.fi
  687.  
  688.   II.04)  Where can I get my questions answered? How about bug-reports?
  689. What do I put into a post to comp.os.linux?
  690.  
  691. ANSWER: (Paul Gortmaker pg@cain.mmtc.rmit.oz.au)
  692.  You can post your problem to the above group, comp.os.linux. BUT, BEFORE
  693.  YOU DO THIS, PLEASE READ THE FOLLOWING GUIDELINES.
  694.  
  695.  If you have read the FAQ, man pages, etc, and you still haven't
  696.  solved your problem, then check to make sure you have got the latest
  697.  version of whatever it is that you are working with. Check the dates
  698.  and revision numbers of your versions with the versions on your local
  699.  ftp site (tsx-11.mit.edu , sunsite.unc.edu ?). This includes (most
  700.  importantly) the kernel itself. Make sure you have applied the latest
  701.  patches and recompiled the kernel, or have got the kernel "Image"
  702.  from someone who has done so. And, of course check comp.os.linux
  703.  for info too. If you have a genuine problem, chances are that you
  704.  aren't the first one to find it. So it has probably already been
  705.  reported (...and fixed???). For example, if you are having trouble
  706.  with say Xconfig for some strange VGA card, and you use nn to read
  707.  comp.os.linux, then you could invoke nn as follows:
  708.  
  709.   nn -x -s 'config' comp.os.linux 
  710.  
  711.  and it will find all the latest articles with the word config in
  712.  their subject for you. This will be one of the most up to date 
  713.  sets of information that you can get -- DON'T OVERLOOK IT !!!
  714.  (You can check the man pages of your news reader to determine
  715.  the options that do the same as the above.)
  716.  
  717.  OK, so you've done all the above, spent 40 hours trying to figure
  718.  it out, have had a nervous breakdown, your girlfriend/boyfriend has
  719.  stopped talking to you, and you decide that you will turn to the
  720.  Linux community for help. Here are some guidelines on posting that
  721.  will ensure that you get a quick response, and that you hopefully
  722.  don't get flamed.
  723.  
  724.  1) Choosing a Subject:
  725.   
  726.  It is important to try and squeeze as much information into
  727.   as few words as possible. If you can manage it, try and 
  728.   put the package name, version, and problem into the subject.
  729.  But don't make it too long, or the middle will get chopped 
  730.   out. For example "I'm having problems with poeig-1.1.tar.Z 
  731.   on my 486 with 0.99p6" will probably appear to everybody as
  732.  "I'm having prob <> ith 0.99p6" Not very useful... 
  733.  What should have been used was something like:
  734.  "poeig-1.1 w 99p6 wont compile" would be much better, and
  735.   relays that you are having trouble with getting it to 
  736.   compile. (Note that this is just an example, I have no 
  737.   knowledge of problems with poeig!) Also, (unless you like
  738.  bugs -> getting flamed!) DON'T claim you have found a bug, unless
  739.   you are ABSOLUTELY SURE! Nothing p***es developers off more
  740.   than erroneous bug reports. 
  741.  
  742.  2)  Keywords:
  743.  
  744.   If your news poster program asks for keywords, try and put
  745.   in some useful descriptive words, so that others can use them
  746.   for a meaningful search.
  747.  
  748.  3) Body of the Article:
  749.  
  750.   There are some key things that need to be included in the
  751.   body of the article. (a) The name and version of the thing
  752.   that you are having the problem with. (b) The type of problem,
  753.   ie compilation, execution, etc. -- (c) versions of related
  754.   software, ie if compilation is the problem, then the version
  755.   of GCC you are runnning is relevant. If you are having trouble
  756.   with a program that uses X, then the version of X you are using
  757.   is relevant. (d) The version and patchlevel of the kernel you
  758.   are using at present. (ie. 0.99p7 or whatever) (e) the type
  759.   or brand of any related hardware, ie. if you are having problems
  760.   with networking, then you would want to say that you are using
  761.   a Western Digital SMC Elite 16 or whatever your ethernet card
  762.   is. (f) Any relevant error messages that were reported by the
  763.   system during the problem.
  764.   And, of course, there are some things that one should NOT put
  765.   in the article. For example, don't post a 30 page configuration
  766.   file and expect anybody in their right mind to look through it.
  767.   And similarly for any HUGE files. If they are relevant to your
  768.   problem, then someone will respond by asking you something like
  769.   "Did you check line 32 in file such and such???"  And try to
  770.   avoid negative comments like "The documentation isn't fit for
  771.   my dog." If you have a bone to pick, do it via e-mail, so the
  772.   rest of us don't have to read a flame war! It just adds to the 
  773.   amount of useless noise on comp.os.linux, which already takes
  774.   too long to scan through. Besides, the developers are doing this
  775.   FOR FREE. THEY ARE NOT OBLIGATED TO DO ANYTHING. DON'T ABUSE
  776.   THEM!!! (Or they might just go away, which hurts us all.)
  777.  
  778.  Well, with all this in mind, hopefully you will get a quick response to
  779.  your problem, and maybe someday you will be able to answer someone else's
  780.  problem from the experience you gain!
  781.  
  782.   II.05)  Could you be more explicit about the multi-channel list?
  783.  
  784. ANSWER: Well, there are many things to say:
  785.    - these channels are rather devoted to hackers
  786.    - the ones I am aware of are: GCC, MGR, X11, SCSI, NEW-CHANNELS,
  787.      MSDOS (emulator discussion) , NORMAL, KERNEL, FTP, LAPTOP, DOC,
  788.      NET, CONFIGS, LINUXNEWS ... 
  789.    - whenever you want to JOIN or LEAVE a channel you have to
  790.      contact the request address
  791.    - you have to use special header (X-Mn-Key and Mn-Admin); X-Mn-Key
  792.      is *ONLY* for regular post, the X-Mn-Admin is for *REQUEST*
  793.  
  794. (Ari Lemmke: 1 Nov. 1992):
  795.  Hmmm.... It seems our list has now about 1500 users
  796.  in 21 channels (mailing lists). 3960 without uniq.
  797.  
  798.  "echo foo | mail linux-activists-request@niksula.hut.fi"
  799.  to get the Mail-Net User Guide.
  800.  
  801.   II.06)  How can I join the channel XXX on the linux-activists
  802. mailing list?
  803.  
  804. ANSWER: just send a mail to the request address with help in the body;
  805. you will get back a mail which gives you the list of channels and the
  806. way to join/leave them. Basically you send mail to the request address
  807. with the line:
  808.    X-Mn-Admin: join <channel>
  809.  
  810.  
  811.   II.07)  How can I leave the channel XXX on the linux-activists
  812. mailing list?
  813.  
  814. ANSWER: Same as above, basically. You send mail to the request address
  815. that contains the line:
  816.    X-Mn-Admin: leave <channel>
  817.  
  818.   II.08)  I'm not an hacker, what are the channels I could be interested
  819. in? 
  820.  
  821. ANSWER: Probably these are the most interesting for you (IMHO)
  822.  
  823.  Channel NORMAL:
  824.  ~~~~~~~~~~~~~~~
  825.  Channel normal is the former Linux-Activists mailing list
  826.  (all the people who were on the old Linux-Activists list
  827.  are moved to this channel).
  828.  
  829.  
  830.  Channel DOC:
  831.  ~~~~~~~~~~~~
  832.  This channel is for Linux document "project". Discussion about Linux
  833.  documents, manuals, papers, etc.  
  834.  
  835.  Channel CONFIGS:
  836.  ~~~~~~~~~~~~~~~~
  837.  This channel will be devoted to send submissions of systems that have
  838.  Linux already running, AND those that, for any reason, can't get it  
  839.  to work yet.
  840.  
  841.  Mainly, what it's need from all the channel users is to send their
  842.  hardware configuration list (as complete as possible). Include
  843.  anything that you feel pertinent for information: CPU,
  844.  motherboard, RAM amount, HD & floppy controller, BIOS, monitor,
  845.  video card & memory, network adapter, etc. If you are having trouble
  846.  with your current system, or you find out that a program doesn't work
  847.  properly on your system due to a HARDWARE problem, it may be useful  
  848.  for us to know your configuration; maybe you can get a lot of help. 
  849.  
  850.  Channel LINUXNEWS:
  851.  ~~~~~~~~~~~~~~~~~~
  852.  The LINUXNEWS channel will be used for distribution of Linux News, a
  853.  weekly (if I can find the time) summary of things that happen in the
  854.  Linux community.  Discussion is not encouraged, if you have complaints
  855.  or suggestions, send them directly to me (Lars.Wirzenius@helsinki.fi).
  856.  
  857.  Channel NEW-CHANNELS:
  858.  ~~~~~~~~~~~~~~~~~~~~~
  859.  On the future users on this channel get the information about new
  860.  channels created. 
  861.  
  862.  By this way you can join the channels you want, and do not need to
  863.  send mail to Mail-Net info server or listen rumours.
  864.  
  865.   II.09)  Does there exist a place where the traffic of the newsgroup
  866. is kept?
  867.  
  868. ANSWER: Yes, on nic and tsx-11 (see the ftp addresses above), and since
  869. 12th March, a Gopher server is up at beryl.daimi.aau.dk (130.225.16.86).  
  870. The archives go back to Nov. 18. 91. Also recently a WAIS server for the
  871. linux mail archive has been setup at fgb1.fgb.mw.tu-muenchen.de. Contact
  872. tw@fgb1.fgb.mw.tu-muenchen.de for more info. 
  873.  
  874. All back issues of the Digest are available on tsx-11.mit.edu
  875. [18.172.1.2] in the following place(s):
  876.  
  877. pub/linux/mail-archive
  878.                      ~/Volume?               /* where '?' in volume #
  879.                               ~/digestnnn.Z   * and nnn is issue #
  880.                                               */
  881.  
  882.  
  883.  
  884.  
  885. II.B OBTAINING LINUX FROM BBS'S
  886. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  887. *** This section is maintain by Zane Healy (healyzh@holonet.net)
  888. *** Last Update June 1993.
  889.  
  890.   II.10)   I don't have access to FTP, how can I obtain Linux?
  891.  
  892. ANSWER:  Linux is available from various BBS's around the world.
  893.  
  894.   II.11)   I got this FAQ from a local BBS, or a friend, and I see there
  895. is a newsgroup called comp.os.linux .  I don't have access to USENET or
  896. mail, so how can I get the messages?
  897.  
  898. ANSWER:  Some of the BBS's on FidoNet carry comp.os.linux as a FidoNet
  899. conference.  Also some of the other BBS's carry it in some form or other.
  900.  
  901.   II.12)   Do BBS's offer anything that the Internet does not?
  902.  
  903. ANSWER:  Yes, on the information side there are the UNIX conferences on
  904. both the RIME network and FidoNet.  Although they are not dedicated to
  905. linux, a large amount of the messages are linux related.  Also at least
  906. one software package being developed for linux, and also one port is
  907. available via BBS's long before they are available via anonymous FTP. 
  908.  
  909.   II.13)   What is a BBS?
  910.  
  911. ANSWER: A BBS is a Bulletin Board System, it let's you transfer
  912. message's and file's via your phone line and all you need is a
  913. computer with communications software and a modem.  Some BBS's
  914. transfer message's among each other forming large computer network's
  915. similar to USENET.  The most popular of these in the US are FidoNet
  916. and RIME.
  917.  
  918.   II.14)   How can I get a (Near) complete list of BBS's that carry Linux?
  919.  
  920. ANSWER:  I (Zane Healy) post a list of all known BBS's that carry Linux
  921. to comp.os.linux as well as the RIME and Fidonet UNIX conferences on the
  922. 1st and 15th of each month.
  923.  
  924.   II.15)   Now that I have a phone number, how do I go about accessing a
  925. BBS?
  926.  
  927. ANSWER: 
  928.  
  929. 1. You need a computer equipped with communications software and a modem.
  930.  
  931. 2. For ALMOST all BBS's you will need to set the comm software up for:
  932.     8 - Data Bits
  933.     N - Parity
  934.     1 - Stop Bit
  935.  
  936.    Although certain BBS's and Communication services require that the 
  937. software be set for:
  938.     7 - Data Bits
  939.     E - Parity
  940.     1 - Stop Bit
  941.    
  942.    You will also need to set the comm software for the correct speed,
  943. either the top speed, or the max speed for your modem.
  944.  
  945. 3. Using the comm software, call the BBS.  Once you connect with the
  946. BBS (this may take awhile, as other people are likely to be using it),
  947. you will be asked some questions.
  948.    If you are a registered user of the BBS it will normally only ask
  949. for your name and password.  However if you are not a registered user,
  950. it will most likely require that before you do anything, you register.
  951. The method of registration varies from BBS to BBS.
  952.    Normally the first thing that will happen is, you sign on to the
  953. BBS, and tell it your name.  It will then check it's list of user's
  954. and see that you are not one of them.  At which time it will ask you
  955. if you are a new user, or if you wish to re-enter your name.  When you
  956. tell it you are a new user, it will then ask you some questions about
  957. yourself, such as where you are calling from and your phone number.  A
  958. lot of BBS's will want some statistical info such as what type of
  959. computer you are using, your communications software, your age, etc,
  960. etc.
  961.    After this, most BBS's require some sort of validation, this is for
  962. the System Operator's (SysOp's) protection.  One type is where you
  963. give the BBS software your phone number, hang up, and the BBS calls
  964. your computer to verify that you gave it legitament phone number.
  965. Some BBS's require that you mail the SysOp a postcard.  Most, however
  966. just require that you give the SysOp the request info and then he
  967. upgrades your level of access a couple of day's later.
  968.    For the most part you will find that the registration process is
  969. easy to follow and well documented.
  970.  
  971.   II.16)   There is a local BBS that carries Linux, but it isn't on the
  972. latest Linux BBS List.  How do I go about submitting it for inclusion in
  973. the list? 
  974.  
  975. ANSWER:  Send the following information on the BBS to me:
  976.  
  977.                                            BBS Name:
  978.                                        Phone Number:
  979.                                         Modem Speed:
  980.                              City and State/Country:
  981. Whatever Network it's on (i.e. FidoNet, RIME, etc.):
  982.          First Time access to D/L Linux Files (Y/N):
  983.                    Free Access to Linux Files (Y/N):
  984.                           Allow File Requests (Y/N):
  985.                                    BBS Rating (1-5):
  986.  
  987. I can be reached at one of the following E-Mail Addresses:
  988.              Internet -- healyzh@holonet.net
  989.            CompuServe -- 70332,14
  990.               Prodigy -- SCNN49A
  991.          Fido NetMail -- Zane Healy at 1:109/615
  992.  RIME UNIX Conference -- Zane Healy
  993.  
  994.   I would apprieciate it if when you send me info on a BBS that you
  995. send me all the info that you see in the entries, thanks.
  996.  
  997.  It is my understanding that if you have access to a BBS on 
  998. FidoNet that if you can talk the SysOp into it he can get the 
  999. Linux Files via Fidonet Linux SDN.
  1000.  
  1001.  
  1002.   II.17)   What can I do to help ensure the continued development of
  1003. Linux?
  1004.  
  1005. ANSWER:  PLEASE UPLOAD FILES TO BBS'S
  1006.  
  1007.    In posting this list I would like to point out that a large number 
  1008. enthusiests don't have FTP access.  In fact it is possible that by now 
  1009. most of the Linux fan's don't.  So I would like to suggest that those 
  1010. of us that do, find at least one BBS to post the Linux file's to.  I, 
  1011. for one post every file that I get to at least one of the local BBS's, 
  1012. and from there they the file's tend to find there way to other local 
  1013. BBS's.  I've seen post's about the future of Linux etc., well here is a
  1014. way to help guarentee it.  I think it's safe to assume that most people 
  1015. with FTP access also have a modem.  So how about doing other Linux fan's
  1016. a favor and finding a BBS to upload the Linux files to.
  1017.  
  1018. BBS OF THE MONTH:
  1019.   MD      Brodmann's Place        301-843-5732    14.4k
  1020.    This BBS not only carries an excellent selection of Linux file, but
  1021. it also has the following Linux related newsgroups/conferences.
  1022.    USENET              Fidonet                             RIME
  1023.    ------              -------                             ----
  1024. comp.os.linux          Fido UNIX                           RIME UNIX   
  1025. comp.os.linux.announce Linux_Local(local to 109 Fido area)
  1026.  
  1027. FORMAT:
  1028. State   YYY  BBS Name                Phone Number    Modem Speed
  1029. Rating       City                    Other data
  1030.  
  1031. RATING SYSTEM:  1 -- Only enough the most basic of files
  1032.                 2 -- The basic's and a little more
  1033.                 3 -- So, so
  1034.                 4 -- A respectable amount
  1035.                 5 -- Pretty much everything you need
  1036.  
  1037. ADDITIONAL INFO:  
  1038.  
  1039.      YYY -- Either a Yes/No/? answer to the question
  1040.      |||
  1041.      ||Free access to Linux files
  1042.      |Allow file requests (FidoNet)
  1043.      First time D/L of Linux related files
  1044.  
  1045. File Requests:
  1046.   FidoNet BBS's with the right type's of front-end mailer's can call other
  1047. Fido BBS's and request their front-end mailer to send them files that they
  1048. want.  All this can be done automatically.  File Requests (freqs) are 
  1049. basically the FidoNet equivallent to UUCP.
  1050.  
  1051.                
  1052. UNITED STATES:
  1053.  
  1054. ??  ??? ??????????????????      516-244-7064    9600
  1055.   3-4   ??????                  ???
  1056.  
  1057. CA  NNY Citrus Grove Public Access 916-381-5822 ZyXEL 16.8/14.4
  1058.   3     Sacramento              citrus.sac.ca.us
  1059. CA      High[er] Powered BBS    408-737-7040  
  1060.   4     ?                       RIME ->HIGHER
  1061. CA      hip-hop                 408-773-0768  19.2k
  1062.                                 408-737-8300  38.4k
  1063.   5     Sunnyvale               USENET
  1064. CA  YYY Unix Online             707-765-4631    9600
  1065.   4     Petaluma                USENET  
  1066. CA      The Outer Rim           805-252-6342  
  1067.   ?     Santa Clarita        
  1068. CA      Programmer's Exchange   818-444-3507
  1069.                                 818-579-9711
  1070.   ?     El Monte                Fidonet
  1071. CA  ??? Micro Oasis             510-895-5985    14.4k
  1072.   ?     San Leandro       
  1073. CA  YNY Test Engineering        916-928-0504    
  1074.   ?     Sacramento
  1075. FL  NYY Slut Club               813-975-2603    USR/DS 16.8K HST/14.4K 
  1076.   5     Tampa                   Fidonet 1:377/42
  1077. FL      Lost City Atlantis      904-727-9334    14.4k
  1078.   4     Jacksonville            Fidonet
  1079. FL  YYY Acquired Knowledge BBS  305-720-3669    14.4k v.32bis
  1080.   5     Fort Lauderdale         Internet (UUCP)
  1081. GA      AVSync                  404-320-6202  
  1082.   2     Atlanta                 
  1083. GA  YYY Information Overload    404-471-1549    19.2k ZyXEL 
  1084.   5                             FidoNet 1:133/308
  1085. GA      Atlanta Radio Club      404-850-0546    9600
  1086.   ?     Atlanta
  1087. ID      Rebel BBS               208-887-3937    9600
  1088.   5     Boise
  1089. ID  YYY Phantasia BBS           208-939-1350    9600 
  1090.   5     Boise                   Smartnet 1:347/25
  1091. ID  YYY Rocky Mountain HUB BBS  208-232-3405    38.4k
  1092.   4     Pocatello               Fido,SLNet,CinemaNet,etc
  1093. IL  YYY EchoMania BBS           618-233-1659    14.4k HST
  1094.   3     Belleville              Fido 1:2250/1  (f'reg LINUX)
  1095.         F'reqs from unlisted nodes, online callback verifire (works L.D.)
  1096. IL  YNY UNIX USER               708-879-8633    14.4k
  1097.   4     Batavia                 USENET, Internet mail
  1098.         Home of Unix User newsletter
  1099. IL  NYY PBS BBS                 309-662-2042 Node 1 - 16.8k v.32/HST
  1100.                                 309-663-7675 Node 2 - 2400
  1101.   2     Bloomington             Fido 1:232/303
  1102. IL      Third World             217-356-9512    9600 v.32
  1103.   3-4   
  1104. IN  NNY Digital Underground     812-941-9427 14.4k v.32bis
  1105.   5        USENET News Feed
  1106. LA      The OA Southern Star    504-885-5928  
  1107.   ?     New Orleans             Fidonet 1:396/1
  1108. MA  N?N Channel One             617-354-8873  
  1109.   ?     Boston                  RIME ->CHANNEL
  1110. MA  YNY VWIS Linux Support BBS  508-793-9568    9600
  1111.   4     Worcester
  1112. MA  YYY WayStar                 (508)481-7293   14.4k v.32bis
  1113.         (508)481-7147           (508)480-8371
  1114.   5     Marlborough             FidoNet (1:322/140)
  1115. MD  N?N Programmer's Corner     301-596-1180    9600  
  1116.   5     Columbia                RIME                    
  1117. MD      Brodmann's Place        301-843-5732    14.4k
  1118.   5     Waldorf                 RIME ->BRODMANN
  1119.                                 FidoNet
  1120.   Carries 5 different message groups dealing with Linux/UNIX
  1121. MD      Main Frame              301-654-2554    9600
  1122.   4     Gaithersburg            RIME ->MAINFRAM
  1123. MD      1 Zero Cybernet BBS     301-589-4064
  1124.   2
  1125. MD  YNY WaterDeep BBS           410-614-2190   9600 v.32
  1126.   5     Baltimore
  1127. ME  ??? Harbor Heights BBS      207-663-0391
  1128.   ?     Boothbay Harbor
  1129. MN  YNY Part-Time BBS           612-544-5552   14.4k v.32bis
  1130.   ?     Plymouth
  1131. MO  NNY The Sole Survivor       314-845-6616   14.4k v.32bis
  1132.   5     St. Louis               WWIVnet, WWIVlink, +more
  1133. NC      MAC's Place             919-891-1111   16.8k, DS modem 
  1134.   5     Dunn                    RIME ->MAC
  1135. NC  YNY Digital Designs         919-423-4216   14.4k,23k
  1136.   4     Hope Mills
  1137. NE      Flite Line              402-421-2434  
  1138.   2     Lincoln                 RIME ->FLITE   DS modem
  1139. NE      Legend                  402-438-2433  
  1140.   2     Lincoln                                DS modem
  1141. NE      MegaByte Mansion        402-551-8681    14.4 V,32bis
  1142.   ?     Omaha
  1143. NJ      Mycroft QNX             201-858-3429 14.4k
  1144.   4     ?
  1145. NJ  YNY Steve Leon's            201-886-8041    14.4k
  1146.   3     Cliffside Park
  1147. NJ  YYY Dwight-Englewood BBS    201-569-3543    9600 v.42
  1148.   3     Englewood, NJ           USENET
  1149. NJ  YNY WEFUNK, The Mothership Connection 908-940-1012     38.4k
  1150.   4     Franklin Park, NJ
  1151. NY  YYY The Laboratory          212-927-4980    16.8k HST, 14.4k v.32bis
  1152.   3-4                           FidoNet 1:278/707
  1153. OR  YYY Intermittent Connection 503-344-9838    14.4k HST v.32bis   
  1154.   5     Eugene, Ore             1:152/35
  1155.         f'req LINUX for a list - CBV not needed to d/l linux files
  1156. PA  NNY Centre Programmers Unit 814-353-0566    14.4k V.32bis/HST  
  1157.   5     Bellefonte, PA
  1158. PA  YNY Allentown Technical     215-432-5699    9600 v.32/v.42bis
  1159.   4     Allentown               WWIVNet 2578
  1160. PA  YYY Tactical-Operations     814-861-7637    14.4k V32bis/V42bis
  1161.   1     State College           Fidonet 1:129/226  tac_ops.UUCP
  1162. TX      North Shore BBS         713-251-9757
  1163.   2     Houston
  1164. TX      The Annex               512-575-1188    9600 HST
  1165.   ?                             Fidonet 1:3802/217
  1166.                                 512-575-0667    2400
  1167.                                 Fidonet 1:3802/216
  1168.   Files available by f'req or by sign-on with a 60-minute per-day limit
  1169. TX      Walt Fairs              713-947-9866
  1170.   2     Houston                 FidoNet 1:106/18
  1171. TX  YYY CyberVille              817-249-6261    9600
  1172.   3                             FidoNet 1:130/78
  1173. TX  YNY splat-ooh               512-578-2720    14.4k
  1174.                                 512-578-5436
  1175.   5     Victoria
  1176. TX  YNY alaree                  512-575-5554    14.4k
  1177.   5     Victoria
  1178. TX  YNY Ronin BBS               214-938-2840    14.4 HST/DS
  1179. 2       Waxahachie (Dallas)     RIME,Intelec,Smartnet,and more!
  1180. VA      VTBBS                   703-231-7498
  1181.   5     Blacksburg
  1182. VA      MBT                     703-953-0640
  1183.   ?     Blacksburg
  1184. VA      NOVA                    703-323-3321    9600  
  1185.   4     Annandale               Fidonet 1:109/305
  1186. VA      Rem-Jem                 703-503-9410    9600
  1187.   2     Fairfax
  1188. VA      Enlightend              703-370-9528    14.4k
  1189.   3     Alexandria              Fidonet 1:109/615
  1190. VA  YYY My UnKnown BBS          703-780-6890    14.4k V.32bis
  1191.   5                             Fidonet 1:109/370
  1192. VA  YN? Georgia Peach BBS       804-727-0399    14.4k
  1193.   1     Newport News
  1194. WA  YYY S'Qually Holler         206-235-0270    14.4k USR D/S
  1195.   5     Renton                  FidoNet: 1:343/34
  1196.         USENET squally.halcyon.com   
  1197.         (Anon UUCP: nuucp nuucp /sc2/bbs/filelist.z)
  1198. WA  YYY Top Hat BBS             206-244-9661    14.4k
  1199.   2                             Fidonet 1:343/40
  1200. WA  YNY victrola.sea.wa.us      206-838-7456    19.2k
  1201.   3     Federal Way             USENET
  1202.  
  1203. Commercial Services that carry some of Linux:
  1204.  
  1205. --  NNN Compuserve CIS          ???????????     9600
  1206.   1     UnixForum               800-848-8199 voice number
  1207. --  NNN GENie                   ???????????     9600/2400
  1208.   3                             800-638-9636 voice number
  1209.                                 301-251-6415 voice number, international
  1210. --  NNN BIX                     ???????????
  1211.   1                             800-227-2983 voice number
  1212. --  NNN Delphi                  ???????????
  1213.   ?     In PC SIG
  1214.  
  1215. OUTSIDE US:
  1216.  
  1217. AUSTRIA:
  1218. W   YYY Galaktische Archive     0043-222-8303804 16.8 ZYX  (19:00-7:00)
  1219.   4     Wien                    fido 2:310/77
  1220.  
  1221. AUSTRALIA:
  1222. NSW YYN Linux-Support-Oz        +61-2-418-8750 v.32bis 14.4k
  1223.   5     Sydney                  Internet/Usenet, E-Mail/News
  1224. NSW NYY 500cc Formula 1 BBS     +61-2-550-4317 V.32bis
  1225.   4     Sydney
  1226.  
  1227. CANADA:
  1228. AB  NNN  Magic BBS              403-569-2882  14.4k HST/Telebit/MNP
  1229.   3      Calgary, AB, Canada    Internet/Usenet
  1230. AB  Y?Y   Logical Solutions     2400 Baud lines - 299-9900 to 9911
  1231.   5                             14.4 K lines    - 299-9912 to 9913
  1232.                                 16.8k USR v32bis- 299-9914 to 9917
  1233. AB  YNY  V.A.L.I.S.             403-478-1281  14.4k v.32bis
  1234.   5      Edmonton               USENET
  1235. ON  ???  The Windsor Download   (519)-973-9330  v32bis 14.4 
  1236.   ?
  1237. ON   YYY r-node                 416-249-5366  2400
  1238.   3      Toronto                USENET
  1239. QC       Synapse                819-246-2344  819-561-5268
  1240.   4      Gatineau               RIME->SYNAPSE
  1241. QC   YNY Radio Free Nyongwa     514-284-6693  v.32bis (ZyXEL)
  1242.   2      Montreal               USENET, Fido
  1243.  
  1244. GERMANY:
  1245.  
  1246.    The BBS's in the German and Austrian sections are thanks to 
  1247.    Rasca Gmelch who maintains a list of German and Austrian BBS's.  
  1248.    He can be reached at: rasca@marie.physik.tu-berlin.de
  1249.  
  1250. HB      bakunin.north.de        (0421) 870532           9600
  1251.   ?     D 2800 Bremen    kraehe@bakunin.north.de
  1252.  
  1253. NDS ??? DataComm1               0531/13216    14.4 HST
  1254.     ?   Braunschweig            fido 2:240/550, LinuxNet
  1255. NDS ??? DataComm2               0531/13217    14.4 HST
  1256.     ?   Braunschweig            fido 2:240/551, LinuxNet
  1257. NDS YYY Linux Server /Braukmann 0441/592963   16.8 ZYX
  1258.     5   Oldenburg               fido 2:241/2012, LinuxNet
  1259. HH  ??? Hub Hamburg & trash-hh  040/?         14.4     (8:00 - 24:00)
  1260.     ?   Hamburg                 fido 2:241/2100, LinuxNet
  1261. NDS YYY MM's Spielebox          05323/3515    14.4 ZYX
  1262.     5   Clausthal-Zfd.          fido 2:241/3420, SLS 1.01, SLT
  1263. NDS YYY MM's Spielebox          05323/3516    16.8 ZYX
  1264.     5   Clausthal-Zfd.          fido 2:241/3421, SLS 1.01, SLT
  1265. NDS YYY MM's Spielebox          05323/3540    9.6
  1266.     5   Clausthal-Zfd.          fido 2:241/3422, SLS 1.01, SLT
  1267. NDS YYY Bit-Company             05323/2539    16.8 ZYX   MO
  1268.     5   Clausthal-Zfd.          fido 2:241/3430, SLS 1.01
  1269. BW  NYY Fractal Zone BBS /Maass 0721/863066   16.8 ZYX  (24h)
  1270.     3   Karlsruhe               fido 2:241/7462 
  1271. NRW ??? Hipposoft /M. Junius    0241/875090   14.4 HST  (4:30-7,8-23:30)
  1272.     5   Aachen                  fido 2:242/6, SLS1.01/kernel 0.99.9
  1273. ??? YYY UB-HOFF /A. Hoffmann    0203/584155   19.2 ZYX+ 
  1274.     3   Duisburg                fido 2:242/37, SLS1.0/kernel 0.99.7
  1275. SHL ??? FORMEL-Box              04191/2846    16.8 ZYX  (6:00-20:00) 
  1276.     ?   Kaltenkirchen           fido 2:242/329, LinuxNet
  1277. ??? ??? (boxname)               ?             16.8 ZYX  (10:00 - 22:00)
  1278.     ?   ?                       fido 2:246/55.4      
  1279. BAY ??? (boxname)               08161/82615   16.8 ZYX  (22:00-8:00)
  1280.     ?   Freising                fido 2:246/129
  1281. BAY ??? BOX/2                   089/6019677   16.8 ZYX  (22-24,0:30-2,5-8)
  1282.     ?   Muenchen                fido 2:246/147, info magic: LINUX
  1283. BAY YYY DBP Line 2+1            0851/55596    14.4 V32b (8:00-3:30)
  1284.     2   Passau                  fido 2:246/200
  1285. BAY YYY DBP Line 1              0851/753789   16.8 ZYX  (8:00-3:30)
  1286.     2   Passau                  fido 2:246/2000
  1287. BAY YYY DBP Line 3              0851/73273    14.4 HST  (5:00-3:30)
  1288.     2   Passau                  fido 2:246/202
  1289. BAY YYY DBP ISDN                0851/950464   38.4/64k (V.110/X.75)
  1290.     2   Passau                  fido 2:246/201 (8:00-24:00,1:00-3:30)
  1291. BLN ??? (boxname)               030/6866250   16.8 ZYX
  1292.     ?   ?                       fido 2:2403/17
  1293. BLN YYY CS-Port                 030/4913418   19.2 ZYX+
  1294.     4   Berlin                  fido 2:2403/13, SLS1.02
  1295. BLN YYY BigBrother / R. Gmelch  030/3356328   16.8 Z16 (16:00-23:00)
  1296.     5   Berlin                  fido 2:2403/36.4, SLS1.02/kernel 0.99.9
  1297. BW  YYY Echoblaster BBS #1      07142/21392   HST/V32b (7-19:00,23-01h)
  1298.     5   Bietigheim              fido 2:2407/4, LinuxNet
  1299. BW  YYY Echoblaster BBS #2      07142/21235   V32b (20:00-6:00)
  1300.     5   Bietigheim              fido 2:2407/40, LinuxNet
  1301. BW  NYN LinuxServer             0711/756275   16.8 HST (8:3-17:5,19-2) MO
  1302.     5   Stuttgart               fido 2:2407/34, LinuxNet
  1303. BW  NYY Rising Sun BBS          07147/3845    16.8 ZYX  (05:30-02:30)
  1304.     4   Sachsenheim             fido 2:2407/41, LinuxNet
  1305.  
  1306. FINLAND:
  1307.     NNY The Field of Inverse Chaos +358 0 506 1836      14.4k v32bis/HST
  1308.   4     Helsinki, Finland       USENET; ichaos.nullnet.fi
  1309.  
  1310. FRANCE:
  1311.     NNY Modula BBS  +33-1 4043 0124, +33-1 4530 1248  HST 14.4 V.32bis
  1312.   5     Paris        Michel Parlebas (no fee for Linux files)
  1313.     NNY Windows Manor   ???????????? NEED MORE INFO PLEASE.
  1314.   ?     Paris        Francis Rozange (recently relocated)
  1315.     YYY  BuBullux  (semi-private, number by request)  16.8k V32bis
  1316.   5     Paris        send requests for number to perrier@onera.fr
  1317.     free semi-private system, hours 18:30-08:00 (but weekends 24 hours)
  1318.     2 hours download time per day, FREQ for both listed and 
  1319.     unlisted nodes. 
  1320.     NYY  STDIN BBS              +33-72375139       V32bis
  1321.   5      Lyon, Laurent Cas      FidoNet 2:323/8
  1322.     NYY  Le Lien                +33-72089879       HST 14.4/V32bis
  1323.   ?      Lyon, Pascal Valette   FidoNet 2:323/5
  1324.     YNY  Basil                  +33-1-44670844     V32bis
  1325.   2      Paris, Laurent Chemla
  1326.          BBS under Linux (xbbs)
  1327.     YNY  Cafard Naum            +33-51701632    V32bis
  1328.   2      Nantes, Yann Dupont
  1329.   open between 08:30-22:30 local time - BBS under Linux (pbbs 1.9)
  1330.  
  1331. IRELAND:
  1332.     NYN TOPPSI                  +353-1-711047           9600 + HST 
  1333.                                 +353-1-773547           14.4k v.32bis
  1334.   4     Dublin, Ireland         Fido, (Chatnet ?)       Fidonet 2:263/151
  1335.     NNN DUBBS                   +353-1-6789000          19.2 ZyXEL
  1336.   2     Dublin, Ireland         Fidonet 2:263/167
  1337.     NNN Galway Online           +353-91-27454           14.4k v32b
  1338.   4     Galway, Ireland         RIME, @iol.ie
  1339.     N?Y Nemesis' Dungeon  +353-1-324755 or 326900       14.4k v32bis
  1340.   4     Dublin                  Fidonet 2:263/150
  1341.  
  1342. ITALY:
  1343.     NYY nonsolosoftware         +39 51 6140772  v.32bis,v.42bis
  1344.                                 Fidonet 2:332/407
  1345.            "      "             +39 51 432904   ZyXEL 19.2k
  1346.    5                            Fidonet 2:332/417
  1347.  
  1348. NETHERLANDS:
  1349.     YNY Koos z'n Doos           +31-3402-36647
  1350. NEW ZAALAND:
  1351.  
  1352.     YYY Advanced Systems        +64-9-379-3365  ZyXEL 16.8k
  1353.    5    Auckland  Singet node number(s) 28:100/20 / 28:1000/201
  1354.                   INTLnet node number(s) 58:700/30 / 58:7200/30
  1355.        Fidonet 3:772/360.10 (Just a pont sorry) 24Hrs Freqs etc.
  1356.              
  1357. NORWAY:   
  1358.         Thunderball Cave        472567018     
  1359.    ?                            RIME ->CAVE ?
  1360.  
  1361. NETHERLANDS:
  1362.     YNY DownTown BBS Lelystad   +31-3200-48852          14.4k
  1363.   5     Lelystad                Fido 2:512/155, UUCP
  1364.     YYY MUGNET Intl-Cistron BBS +31-1720-42580    38.4k
  1365.   4-5   Alphen a/d Rijn         UUCP
  1366.  
  1367. SINGAPORE:
  1368.     YYY The Controversy         (65)560-6040            14.4k V.32bis/HST
  1369.   2-4                           Fidonet 6:600/201
  1370.  
  1371. SOUTH AFRICA:
  1372.     NYY Pats System             +27-12-333-2049         14.4k v.32bis/HST
  1373.   3     Pretoria                Fidonet 5:71-1/36
  1374.  
  1375. SWEDEN
  1376.     ?Y? Gunship BBS             +46-31-693306           14.4k HST DS
  1377.   ?     Gothenburg
  1378. SWITZERLAND:
  1379.     NNY Atlantis                +41-1-492-8711          14.4k
  1380.   4                             ILINK
  1381.     YYY Baboon BBS              +41-62-511726           19.2k
  1382.   ?                             2:301/580  /581  
  1383.  
  1384. UNITED KINGDOM:
  1385.     NYN The Purple Tentacle     +44-734-590990          HST/V32bis
  1386.   4     Reading                 Fidonet 2:252/305 
  1387.         A6 BBS                  +44-582-460273          14.4k
  1388.   ?     Herts                   Fidonet 2:440/111
  1389.     YYY On The Beach            +44-273-600996          9600 HST
  1390.   4     Brighton                Fidonet 2:441/122
  1391.  
  1392. Commercial Service's Outside the US:
  1393.  
  1394. UNITED KINGDOM:
  1395.     NNN Compulink Info eXchange 081-390-1255            v.32bis
  1396.   5
  1397.  
  1398.  
  1399.  
  1400.  
  1401.   II.18)  What are File Requests?
  1402.  
  1403. ANSWER: FidoNet BBS's with the right type's of front-end mailer's can
  1404. call other Fido BBS's and request their front-end mailer to send them
  1405. files that they want.  All this can be done automatically.  File
  1406. Requests (freqs) are basically the FidoNet equivallent to UUCP.
  1407.  
  1408.  
  1409.     ===================8<==========>8================
  1410.  
  1411. -- 
  1412. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1413. # LaBRI     |         #
  1414. #  351 cours de la Liberation    |  e-mail:  corsini@geocub.greco-prog.fr   #
  1415. #  33405 Talence Cedex   |  e-mail:  corsini@labri.u-bordeaux.fr    #
  1416. #       |         #
  1417. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1418. -- 
  1419.   There will be a sig when our local net is reliable.
  1420.         For now, I would rather stay anonymous.
  1421. Archive-name: linux-faq/part2
  1422.  
  1423. Last-Modified: 93/06/07
  1424. Version: 1.18
  1425.  
  1426. *********************************************************
  1427. *       *
  1428. *   Answers to Frequently asked questions about Linux   *
  1429. *       *
  1430. *********************************************************
  1431.  
  1432. This post contains Part 2 of the Linux FAQ (4 parts).
  1433. It must be read *after* the first part. 
  1434.  
  1435. ================================8<=====8<==============================
  1436. CONTENTS (of this part)
  1437.  
  1438.  III.  INSTALLATION, and COMMON PROBLEMS (part2)
  1439.  IV. SOME CLASSICAL PROBLEMS   (part2)
  1440.  V. LINUX and DOS    (part2)
  1441.  
  1442. ===================================8<====>8============================
  1443.  
  1444.  
  1445.  
  1446. III. INSTALLATION, SETUP, and COMMON PROBLEMS
  1447. =============================================
  1448. *** Note: this FAQ section should be the most 'reliable' source for 
  1449. *** installation info. Please mail any corrections or changes to this 
  1450. *** section's coordinator, Matt Welsh (mdw@tc.cornell.edu). 
  1451. *** Last update April 93.
  1452.  
  1453.  
  1454.  
  1455. III.A. WHERE TO START: What are the reliable sources of information
  1456. III.B. LINUX PACKAGES: Where and how install a complete Linux package
  1457.  
  1458.  
  1459. III.C. SOME COMMON PROBLEMS: Simple problems and simple solutions
  1460.  
  1461.  
  1462.  
  1463. III.A. WHERE TO START
  1464. ~~~~~~~~~~~~~~~~~~~~~
  1465.  
  1466.  III.01)  I want to install Linux on my machine. Where do I start?
  1467.  
  1468. ANSWER: The first thing you should do is read through the various
  1469. introductory files, and ESPECIALLY the FAQ (this file). Especially
  1470. this section :). A lot of effort has been done on these intro files,
  1471. but note that some of them conflict with each other and cover older
  1472. versions of Linux. When in doubt consult this file.
  1473.  
  1474. These files are all found on tsx-11.mit.edu:/pub/linux/docs...
  1475.  
  1476.   FAQ
  1477.   The Linux Frequently Asked Questions list
  1478.     It's sitting in your hands now. This section is probably the best
  1479.     place to start to get the most up-to-date Linux installation
  1480.     information.
  1481.  
  1482.   INFO-SHEET 
  1483.   Linux Information Sheet, by J. Winstead/L. Wirzenius/M. Welsh/M. Johnson
  1484.     This is a collection of general info about Linux. It's
  1485.     a good place to start if you've never heard of the package
  1486.     before.
  1487.  
  1488.   README.kernel
  1489.   Kernel compilation README file, by L. Wirzenius
  1490.     This is the README notes for recompiling the Linux kernel from the
  1491.     sources. You don't need it unless you're planning to upgrade
  1492.     your kernel by compiling it yourself.
  1493.  
  1494.   Others
  1495.     Every "release" of Linux (such as SLS, boot/root, HLU's disks, etc.,
  1496.     see below) has its own up-to-date README files and docs that explain
  1497.     how to install that release. This FAQ section summarizes, but for more
  1498.     info on how to install Linux, read the READMEs and docs for the release 
  1499.     that you choose.
  1500.  
  1501.   Old docs
  1502.     There are a number of obsolete, old docs lying around. Most of these
  1503.     tell how to install Linux from the old boot/root disk combo. I DO NOT
  1504.     SUGGEST that you use these docs unless you know what you're doing--
  1505.     the best thing for beginners to do is read this FAQ and install the SLS
  1506.     release (using the docs and READMEs for the SLS release). 
  1507.     These old docs are things like "install.txt", "guide.txt", "RELNOTES",
  1508.     "CHANGES", and so on, and are all geared towards old versions of the
  1509.     boot/rootdisk. They are *NOT* relevant to current versions of Linux.
  1510.  
  1511.  
  1512.  III.02)  Is there some kind of limit on how large my Linux partitions
  1513. and/or filesystems can be?
  1514.  
  1515. ANSWER: There's no limit on partition size (just the size of your drive),
  1516. or filesystem size. The Minix filesystem type has a limit of 64 megs per
  1517. filesystem. However, most folks use the Extended 2 filesystem or the Xia
  1518. filesystem, which have limits of 4 terabytes per partition (virtually
  1519. infinite).
  1520.  
  1521. See section III.C below on creating partitions and filesystems for more info.
  1522.  
  1523.  
  1524.  
  1525. III.B. LINUX PACKAGES
  1526. ~~~~~~~~~~~~~~~~~~~~~
  1527. This section contains information about *SOME* of the current Linux
  1528. packages  available. 
  1529.  
  1530.  III.03)  Does there exist a way to get all (or nearly all) of the Linux
  1531. stuff?
  1532.  
  1533. ANSWER: Yes. To install Linux, you're going to want to choose one of the
  1534. "releases" of Linux, all of which have a different method of installation
  1535. and set up. Each release also has its own README and installation docs,
  1536. which you'll want to read first. But I'll summarize here. The major
  1537. releases are:
  1538.    
  1539.    * The "Softlanding Linux System Release"
  1540.      Also known as the "SLS" release, consists of about 23 disks for Linux
  1541.      and 9 for X11. The nice thing about this release is that you can
  1542.      pick and choose which disks and packages you want to install. The
  1543.      first disk ("a1") must be "rawritten" (using rawrite.exe) on floppies,
  1544.      and the rest of the images are put onto DOS format floppies using the
  1545.      DOS "copy" command. Contains all of the softs you'll ever need, and is 
  1546.      easy to install for newcomers.
  1547.  
  1548.      This is the release that I suggest everyone new to Linux should
  1549.      install. It's the most complete and up-to-date package. HLU's
  1550.      disks, below, are good for upgrading, and (unfortunately),
  1551.      the MCC-interim is quite dated at this point. If you install
  1552.      SLS you'll save yourself a lot of trouble.
  1553.  
  1554.    * The "TAMU" (Texas A&M University) Linux Release
  1555.      This release is supposedly like the SLS release, but has some
  1556.      different softs and a different installation procedure. From Dave
  1557.      Safford, "The installation procedure is the main difference from
  1558.      SLS. A single boot diskette is used, and it boots directly into
  1559.      an automated installation program." This installation program
  1560.      asks a few questions about the desired configuration, and sets up
  1561.      everything, including your filesystems, booting from the hard
  1562.      drive with LILO (see section III.C below), and a simplified
  1563.      X-Windows configuration. 
  1564.  
  1565.      This humble author has never installed the TAMU release but I've
  1566.      heard good things about it. 
  1567.  
  1568.    * H.J. Lu's "bootable rootdisk"
  1569.      This is a release of the Linux kernel and basic binaries on
  1570.      a single floppy. It, along with HLU's 'gccdisk', 'libdisk',
  1571.      and so on, are good for upgrading or installing basic
  1572.      Linux system by hand. It's not reccommended for newcomers,
  1573.      because there's no real install script, it's mostly meant
  1574.      as an upgrade of the basic system software. Beginners should
  1575.      install SLS or MCC-interim (see below) instead.
  1576.  
  1577.    * The Manchester Computing Centre Interim Release
  1578.      This is the fabled "MCC-Interim" Linux release, which was originally
  1579.      the de facto standard Linux distribution. After 0.97.2, it was dropped
  1580.      in favor of SLS, but as of 0.99.8 a new MCC-Interim has been released.
  1581.      Like SLS and TAMU, it has an easy-to-install, complete set of Linux
  1582.      software, including networking and X11.
  1583.  
  1584.    * Others but OUTDATED
  1585.      There are other releases and distributions of the Linux software,
  1586.      "MJ" release. There is also an older "boot/root" disk combo (0.98.1) 
  1587.      which is like HLU's bootable rootdisk, above, but it's no longer 
  1588.      supported (as far as I know).
  1589.  
  1590.      The "MJ" release, according to Martin Junius, is no longer
  1591.      maintained. The last version was 0.97.1.
  1592.  
  1593.  III.04)  Where can I get these releases of Linux?
  1594.  
  1595. ANSWER: 
  1596.  
  1597. The SLS release is at tsx-11.mit.edu:/pub/linux/packages/SLS and
  1598. sunsite.unc.edu:/pub/Linux/SLS.
  1599.  
  1600. H.J. Lu's "bootable rootdisk" release is found at tsx-11.mit.edu:
  1601. /pub/linux/packages/GCC, as well as the mirror sites.
  1602.  
  1603. TAMU.99p4 is available from sc.tamu.edu in pub/free_unix/TAMU.99p4.
  1604.  
  1605.  
  1606.  III.05)  What files do I need to get for the SLS release?
  1607.  
  1608. ANSWER: Basically all of the releases are alike. You need to get the
  1609. DOS program 'rawrite.exe' (or 'rawrite2.exe'). This program takes a
  1610. binary file and writes it, block by block, to a blank formatted
  1611. floppy. This is the way to take a Linux floppy image and put it onto a
  1612. disk from DOS. Rawrite can be found in tsx-11.mit.edu:/pub/linux/dos_utils.
  1613.  
  1614. For the SLS release, you need to get the files:
  1615.  * SLS.README and SLS.FAQ. These files contain further information
  1616.    on the current release of SLS. You should read them in addition 
  1617.    to this FAQ.
  1618.  
  1619.  * a1.3 or a1.5, depending on what type of floppy you boot from
  1620.    on your system. a1.3 is for high-density 3.5" floppies, and
  1621.    a1.5 for high-density 5.25" floppies.
  1622.  
  1623.    This file is the image of the SLS "a1" disk. You must use 
  1624.    rawrite.exe (above) to rawrite the file to a high-density
  1625.    *formatted* MS-DOS floppy. (Once the file is rawritten, the
  1626.    floppy will no longer be recognized by DOS). 
  1627.  
  1628.  * The files in the a2, a3, and a4 directories. These files must
  1629.    be copied to MS-DOS formatted floppies (using the MS-DOS
  1630.    'copy' command). For example, the files in the a2 directory
  1631.    are copied to a floppy labeled 'a2', and so on.
  1632.  
  1633.    These files make up the "a" disk set. They are required. The
  1634.    rest of the files below are optional.
  1635.  
  1636.  * The files under the directories b1-bN, c1-cN, x1-xN, t1-tN, and
  1637.    so on. These files are copied to MS-DOS floppies just like a2-a4
  1638.    above. (e.g. the files in the b2 directory are copied to a floppy
  1639.    labeled 'b2'). 
  1640.  
  1641.    These floppies contain optional software for SLS:
  1642.      b1-bN: base system extras, such as emacs and man pages
  1643.      c1-cN: compilers such as gcc, g++, f2c, etc.
  1644.      x1-xN: the X Windows system
  1645.      i1-iN: Interviews (doc and idraw)
  1646.      t1-tN: TeX, LaTex, etc. (document processing system)
  1647.      s1-sN: sources for some of these utilities
  1648.  
  1649. I suggest getting at least the a, b, and c disk series. If you want to
  1650. run Xwindows, get the x series as well. When you're making these floppies,
  1651. a2-a4 and so on must all be the same kind of floppy (i.e. either
  1652. 3.5" or 5.25"). The a1 disk must be the floppy type that you boot from.
  1653. The rest of the disks don't have to be the same type as the a1 disk.
  1654.  
  1655.  
  1656.  III.06)  Now that I have the files, how do I install SLS?
  1657.  
  1658. ANSWER: Before installing SLS you may need to resize your partitions for
  1659. MS-DOS, etc. to make space for Linux on your hard drive. For this you
  1660. generally use MS-DOS's "fdisk" and resize your partitions by first 
  1661. deleting them and then re-creating them with smaller sizes. Note that
  1662. this procedure deletes everything on the affected partitions: you'll need
  1663. to make backups first and restore from them later. See section III.C for
  1664. more info on this.
  1665.  
  1666. To install the system: First boot the a1 disk. You should see the prompt
  1667. "LILO". Press <ctrl> or <shift> to get a list of instructions: at this
  1668. point you'll be able to choose how you want to boot the a1 disk (i.e.
  1669. choose the option "floppy" to boot without the ramdisk enabled, "ramdisk"
  1670. to boot normally, and so on). If you just press <return> you'll boot with
  1671. the ramdisk enabled (recommended, but may not be possible for systems with
  1672. less than 4 megs of RAM). 
  1673.  
  1674. Once the system boots up login as "root" (no password). You can now
  1675. use 'fdisk' to create partitions for Linux, and reboot (from the a1 disk
  1676. again). Again, login as "root" and use 'mke2fs', 'mkswap', and
  1677. so on to create filesystems and swap space. See section III.C below for
  1678. information on making partitions and filesystems.
  1679.  
  1680. To install the software, use the command
  1681.  doinstall <partition>
  1682. where <partition> is the location of your root filesystem that you just
  1683. created. For example, if your Linux root filesystem is on /dev/hda2, use 
  1684. the command
  1685.  doinstall /dev/hda2
  1686. If you have more than one Linux filesystem (for example, a filesystem on
  1687. /dev/hda3 for /usr), then use something like
  1688.  doinstall /dev/hda2 /dev/hda3 /usr
  1689. Those with previous UNIX experience will know what this means. 
  1690. See section III.C below.
  1691.  
  1692. Next, the system will ask how you want to install the system (from 
  1693. floppy, hard disk, tape, CD-ROM, or over the network). If you're 
  1694. installing from floppy, choose "floppy". (For info on installing 
  1695. from the hard drive, etc. see the file SLS.FAQ). For floppy 
  1696. installations you'll also be asked what drive to install from and 
  1697. how much software you're going to install. It's very self-explanatory.
  1698.  
  1699. You must have a formatted high-density floppy on hand before you go on.
  1700. It must be the type of floppy that you boot from (i.e. same type as the
  1701. a1 disk). It will be used to make a boot disk at the end of the installation
  1702. procedure.
  1703.  
  1704. >From here on it's pretty automatic-- you simply flip disks while it
  1705. installs the software.
  1706.  
  1707.  
  1708.  III.07)  Any other information about SLS?
  1709.  
  1710. ANSWER: This comes from the file SLS.FAQ, by Peter MacDonald.
  1711. Please get the most recent version and read it: sunsite.unc.edu:
  1712. /pub/Linux/SLS/SLS.FAQ.
  1713.  
  1714. SLS (Softlanding Linux System) Copyright 1992, Softlanding Software.
  1715.  
  1716. which is NOT just an image dump of someones Unix system.
  1717.  
  1718. Also note that in the interest of preventing ftp storms, the version
  1719. of SLS that appears on the internet, is not quite the same as the
  1720. version distributed by Softlanding.   Softlanding regularly gets a
  1721. whole new version which has the changes integrated.   But the updates
  1722. to the Internet version are tailored to minimize the amount that has
  1723. to be downloaded to become current.  That is why bugs manage to creep
  1724. in on me.  I am not installing and testing the Internet version, 
  1725. although, functionally, it should be quite close to the Softlanding
  1726. one.  
  1727.  
  1728. The purposes of the SLS are the following:
  1729. 0) provide an initial installation program (for the queasy).
  1730. 1) utilities compiled to use minimal disk space.
  1731. 2) provide a reasonably complete/integrated U*ix system.
  1732. 3) provide a means to install and uninstall packages.
  1733. 4) permit partial installations for small disk configs.
  1734. 5) add a menu driven, extensible system administration.
  1735. 6) take the hassle out of collecting and setting up a system.
  1736. 7) give non internet users access to Linux.
  1737. 8) provide a distribution that can be easily updated.
  1738.  
  1739. Highlights of the base are:  gcc/g++, emacs, kermit, elm/mail/uucp,
  1740. gdb, sc (spreadsheet), man pages, groff, elvis, zip/zoo/lh and menu.
  1741. Highlights of X are: X, programmers libs, 75 dpi fonts, games (spider,
  1742. tetris, xvier, chess, othello, xeyes, etc) and utilities like xmag,
  1743. xmenu, xcolormap and ghostscript.  Approximate usage is as follows: 
  1744.  
  1745. Tiny base system:        9 Meg  (Series 'a')
  1746. Main base system:       25 Meg  (Series 'a', 'b' and 'c')
  1747. Main base system + X11: 45 Meg  (Series 'a', 'b', 'c' and 'x')
  1748.  
  1749. Please read the file COPYING which outlines the GNU copying 
  1750. restrictions.  The linux kernel is copywrite Linux B. Torvalds.
  1751. Various other copywrites apply, but the upshot is that you
  1752. may do whatever you like with SLS, except restrict others
  1753. in any way from doing likewise, and you must leave all copywrites
  1754. intact, and you can not misrepresent or take credit for others work.
  1755.  
  1756. SLS is also available via mail from the address: 
  1757.  
  1758.         Softlanding Software               
  1759.         910 Lodge Ave. 
  1760.         Victoria, B.C., Canada             
  1761.         V8X-3A8            
  1762.         (604) 360-0188
  1763.  
  1764. More details about SLS can be asked to pmacdona@sanjuan.uvic.ca.
  1765.  
  1766.  
  1767.  III.08)  How do I get and install H.J. Lu's "bootable rootdisk" release?
  1768.  
  1769. ANSWER: It's much like SLS release. Just get the bootroot disk image and 
  1770. use rawrite to transfer it to a floppy, and then boot it. You'll probably 
  1771. want to get the 'gccdisk' and 'libdisk', etc. images and rawrite them to 
  1772. floppies as well. Note that this release doesn't have a user-friendly 
  1773. installation script, it's meant mostly to upgrade or install the system 
  1774. by hand. Unless you're familiar with Linux this may prove difficult. :)
  1775.  
  1776. This release is VERY USEFUL as a recovery disk in case you trash your
  1777. Linux system. Everyone should have a copy of the newest bootroot disk
  1778. for emergencies. It contains a full Linux system on one floppy.
  1779.  
  1780.  
  1781.  
  1782. III.C. SOME COMMON PROBLEMS
  1783. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1784.  
  1785.  III.09)  What filetype is the extension ".z"? What about ".taz", 
  1786. ".tpz", and ".tgz"? I see these files on the archives but I don't
  1787. know how to unpack them.
  1788.  
  1789. ANSWER: Here's a list of common filename extensions on the archives.
  1790.   
  1791.    Extension      Used by
  1792.    ---------      ----------------------------------------------------------
  1793.     .Z              compress/uncompress. Use "uncompress foo.Z" to 
  1794.       uncompress the file.
  1795.     .z              gzip. Gzip is now used by many archive sites instead
  1796.       of compress; if you don't have gzip on your system,
  1797.       get it! To uncompress one of these files use 
  1798.       "gzip -d foo.z".
  1799.     .tar            Tar file. Use "tar xvf foo.tar" to unpack it. Or, you
  1800.       can fo "tar tvf foo.tar" to get an index listing of 
  1801.       the tarfile.
  1802.     .taz            Compressed tar file. You can do something like
  1803.       "zcat foo.taz | tar xvf -" or "tar xvfz foo.taz" to 
  1804.       unpack it (some versions of tar don't have the z 
  1805.       option).
  1806.     .tpz, .tgz      Gzipped tar file. If you have gzip, zcat is linked to 
  1807.       it, so you can do "zcat foo.tpz | tar xvf -" to unpack
  1808.       it. .tpz is the old extension; all gzipped tar files 
  1809.       should now end in .tgz instead.
  1810.  
  1811. The SLS distribution uses gzipped tar files (.tgz). 
  1812.  
  1813.  
  1814.  III.10)  How do I make partitions and/or filesystems for Linux?
  1815.  
  1816. ANSWER: For most Linux installations (such as SLS) you'll need at
  1817. least two partitions: one for swap space (used as virtual memory) and
  1818. another for your "root filesystem" (that is, the actual Linux software
  1819. itself). You can also make separate partitions for your /usr filesystem... 
  1820. if you have UNIX experience, you'll be able to figure out how to 
  1821. divide software between multiple partitions.
  1822.  
  1823. For most installations simply having one root filesystem and one
  1824. swap partition is the best way to go.
  1825.  
  1826. The first thing you need to do is resize the existing partitions on your 
  1827. drive (if any) to make space for Linux; for example, if you have a DOS 
  1828. partition taking up all of your drive, you need to use FDISK under MS-DOS 
  1829. to delete it and recreate it with a smaller size. Of course, in so doing 
  1830. you'll lose everything on that DOS partition-- just back it up first and 
  1831. reinstall after you've recreated and reformatted the partition. 
  1832. That's life! :) 
  1833.  
  1834. Now you can boot up Linux (say, from SLS, or from the boot/root disks). 
  1835. >From there you use the command 'fdisk' to create partitions for Linux:
  1836.  fdisk <drive>
  1837. where <drive> is the name of the drive which you're installing Linux on.
  1838. Valid drive names are:
  1839.  /dev/hda: first IDE drive
  1840.  /dev/hdb: second IDE drive
  1841.  /dev/sda: first SCSI drive
  1842.  /dev/sdb: second SCSI drive
  1843. For example, to run fdisk on the first SCSI drive in your system, use
  1844. the command
  1845.  fdisk /dev/sda
  1846. If you don't specify a drive name for fdisk, it will assume /dev/hda.
  1847.  
  1848. The fdisk command "m" prints a menu. The "n" command is used to create
  1849. a new partition. "w" writes the partition table and exits fdisk; "q"
  1850. quits without saving changes. The "p" command displays the current
  1851. partition table.
  1852.  
  1853. When creating partitions with fdisk, you may get an error message to the
  1854. effect of "Warning: Linux cannot currently use xxxxx blocks of this 
  1855. partition." This simply means that the Minix filesystem type (which is
  1856. the default) is limited to filesystems which are 64 megs in size. You can
  1857. ignore this warning, because when creating your filesystems, you can use 
  1858. one of the other filesystem types (ext, ext2, or xia) which have a size
  1859. limit of 4 terabytes.
  1860.  
  1861. Just keep in mind that if you create a partition larger than 64 megabytes
  1862. then you cannot use the Minix filesystem type ('mkfs') when creating
  1863. the filesystem (see below). You must use the ext, ext2, or xia filesystem
  1864. type instead.
  1865.  
  1866. NOTE: An "extended partition" DOES NOT equal "extended filesystem". 
  1867. An "extended partition" acts as a container for logical partitions. This 
  1868. allows you to have more than 4 partitions on a hard drive. Extended
  1869. partitions cannot hold data on their own. You must create logical
  1870. partitions on the extended partition to hold data. 
  1871.  
  1872. On the other hand, an "extended filesystem" is a Linux filesystem which
  1873. uses the "extended filesystem type" (as opposed to the Xia filesystem,
  1874. the Minix filesystem, and so on). Extended partitions and extended 
  1875. filesystems have nothing to do with each other.
  1876.  
  1877. The TYPE of the partition (in the rightmost field when you use the
  1878. fdisk "p" command) does not matter to Linux. However, it does matter to
  1879. other systems such as OS/2. Just make sure that your Linux partitions
  1880. have a type such as "Linux/MINIX" to distinguish it from other systems.
  1881. (i.e. It doesn't matter if you set the type of the swap partition to 
  1882. "Linux swap". All of your Linux partitions can use the default type
  1883. "Linux/MINIX" which is fine). 
  1884.  
  1885. WARNING: DO NOT use Linux fdisk to manipulate partitions for operating
  1886. systems other than Linux. This means don't use Linux fdisk to delete
  1887. or create MS-DOS partitions, for example. Use MS-DOS fdisk for this
  1888. instead. Linux fdisk doesn't properly know how to create partitions for
  1889. MS-DOS and other operating systems.
  1890.  
  1891. When creating partitions, write down the names and sizes of the partitions
  1892. you create. You need this information later on. Use the fdisk "p" command 
  1893. to display this information.
  1894.  
  1895. Once you have your partitions created, reboot the system (with the SLS
  1896. disk, reboot with the a1 disk again). You can now create filesystems 
  1897. on those partitions (which is similar to "formatting" a partition under
  1898. MS-DOS). For the swap partition, use the command
  1899.  mkswap <partition> <size>
  1900. then
  1901.  swapon <partition>
  1902. For example, for a swap partition on /dev/hda2, with a size of 8208
  1903. blocks, you'd use the commands
  1904.  mkswap /dev/hda2 8208
  1905.  swapon /dev/hda2
  1906. This will make the swap space and enable it. Swap space is used as
  1907. virtual memory... if you have 4 megs of RAM in your machine, and a 
  1908. 16 meg swap partition, you have a total of 4 + 16 = 20 megs of RAM
  1909. available for Linux.
  1910.  
  1911. To make your filesystems, use the correct version of the 'mkfs'
  1912. program, depending on the type of filesystem you wish to use:
  1913.  Filesystem type     Command to create filesystem
  1914.  ---------------     ----------------------------
  1915.  Minix               mkfs -c <partition> <size>
  1916.  Extended (old)      mkefs -c <partition> <size>
  1917.  Second Extended     mke2fs -c <partition> <size>
  1918.  Xia filesystem      mkxfs -c <partition> <size>
  1919. The Minix and Extended filesystem types are older, and while more
  1920. robust, are slower and may eventually be phased out. The most
  1921. popular filesystem type used right now is the Second Extended fs
  1922. type ('mke2fs'). The Minix filesystem type is limited to 64 megs
  1923. (and 14-character-long filenames). It's suggested that you use
  1924. either mke2fs or mkxfs.
  1925.  
  1926. For example, to create a 61000-block Second Extended filesystem on
  1927. /dev/hda3, use the command
  1928.  mke2fs -c /dev/hda3 61000
  1929. The "-c" option checks for bad blocks on the filesystem. Apparently
  1930. mkfs and mkefs do not actually use the bad block information 
  1931. correctly (see Q/A below).
  1932.  
  1933. Now you're ready to install the software. For SLS this means just 
  1934. using the 'doinstall' command (see section III.B above). For other
  1935. installations you may need to 'mount' the filesystems first. Just 
  1936. see the relevant READMEs for information.
  1937.  
  1938.  
  1939.  III.11)  Why does fdisk say "Linux cannot currently use XXXX sectors of
  1940. this partition"? 
  1941.  
  1942. ANSWER: See the previous Q/A. Fdisk is an older program which expected 
  1943. all filesystems to be Minix fs, which limited filesystems to 64 megs. You 
  1944. can ignore this warning because the extfs, xiafs, and ext2fs don't have 
  1945. this limit.
  1946.  
  1947.  III.12)  What does the message "MINIX-fs: Magic match failed" on bootup 
  1948. mean?
  1949.  
  1950. ANSWER: Basically, this means that you're trying to mount a non-Minix
  1951. filesystem as a Minix filesystem, and mount is croaking on it because the
  1952. type is wrong. If you use a filesystem type other than Minix fs (i.e.
  1953. if you use the extfs, ext2fs, or xiafs) you'll probably see this message:
  1954. the kernel tries to mount root as Minix, then extfs, then ext2fs, and so on...
  1955. every time it fails for one type it tries the next type. 
  1956.  
  1957. In most situations, this can be ignored, if the kernel is able to mount
  1958. your root partition as any one of its known types. However, if you have 
  1959. recompiled the kernel yourself and set the root device to the wrong 
  1960. partition, then the kernel should hang at this point and you'll have to use 
  1961. "rdev" to set it correctly.
  1962.  
  1963.  III.13)  Linux mkfs doesn't accept the size I give the device,
  1964. although I double-checked with fdisk, and it's correct.
  1965.  
  1966. ANSWER: Be sure you give the size in Linux BLOCKS (1024 bytes), not
  1967. sectors. Also make sure that you have the right partition: partitions
  1968. are numbered "/dev/hda1", "/dev/hda2", and so on (and "/dev/hdb1",
  1969. "/dev/hdb2" for the second hard drive)... DON'T use "/dev/hda" or
  1970. "/dev/hdb" as they correspond to the entire disk, not just single
  1971. partitions.
  1972.  
  1973. Also remember that SCSI drives use /dev/sda1, /dev/sda2... and
  1974. /dev/sdb1, /dev/sdb2, and so on for their partitions.
  1975.  
  1976.  
  1977.  III.14)   How can I get mkfs/mkefs to check for bad blocks?
  1978.  
  1979. ANSWER: Unfortunately the -c option on mk(e)fs does not work; it
  1980. cannot detect bad blocks on the drive, and thus if you create a
  1981. filesystem over a part of your hard drive with bad blocks, things will
  1982. eventually go wrong. So you need to generate a bad block list (in a
  1983. file) and use the -l option on mk(e)fs so it will flag those blocks
  1984. when making a filesystem.
  1985.  
  1986. mke2fs and mkxfs correctly flag bad blocks, so this only applies to
  1987. mkfs and mkefs. This is also only needed for older RLL and MFM drives. 
  1988. SCSI and IDE drives have bad block logic on-board.
  1989.  
  1990. How to generate a bad block list? Since this is only needed for older
  1991. drives and older filesystem types (i.e. Minix and extfs), just mail
  1992. mdw@tc.cornell.edu or kircher@neuro.tuwien.ac.at if you need
  1993. instructions on this procedure. Your best bet is to use mke2fs or
  1994. mkxfs anyway.
  1995.  
  1996.  
  1997.  III.15)  How can I boot Linux off of my hard drive? 
  1998.  
  1999. ANSWER: You need to install the "LILO" program which changes the boot
  2000. sector of your hard drive to allow you to choose between a DOS or a
  2001. Linux partition to boot from. These programs are provided with most
  2002. major releases, or you can get them seperately from one of the FTP
  2003. sites.
  2004.  
  2005. As of LILO version 8 there is a "quick install" script available which
  2006. should make LILO installation quick and easy. See Section VII for LILO
  2007. information. You can also see the "LILO QUICKSTART GUIDE" by Matt Welsh
  2008. which should be available on sunsite.unc.edu:/pub/Linux/docs.
  2009.  
  2010.  
  2011.  III.16)  I tried to install LILO, but screwed up somehow, and
  2012. now can't boot anything from the hard drive. How can I fix this?
  2013.  
  2014. ANSWER: Simple. First you need an MS-DOS 5.0 (or OS/2) bootable floppy
  2015. with FDISK.EXE on it. Boot it and run the command
  2016.  FDISK /MBR 
  2017. which will (hopefully) restore your hard drive's master boot record to
  2018. a standard MS-DOS (resp. OS/2) boot record. Now you can go back and
  2019. reinstall LILO. :)
  2020.  
  2021.  
  2022.  III.17)  When installing SLS, I get the error "You may have inserted
  2023. the wrong disk" when putting in the next disk in a series. What's
  2024. going on?
  2025.  
  2026. ANSWER: Each disk has a small file on it which contains the name of
  2027. the disk. For example, the SLS a3 disk has a file on it called
  2028. "diska3". If it doesn't exist, or is named something else (like
  2029. "diska3.z"), then just create it/rename it. If you copied the files
  2030. to the SLS floppies using "copy *.* ..." then you probably missed
  2031. the "diska3" file because it doesn't have an extension in the 
  2032. filename!
  2033.  
  2034. Also, the last disk in a series (i.e. the a4 disk, b5 disk, etc.) has
  2035. a file on it called "install.end". You need this file as well. These
  2036. files are used by the SLS doinstall program to keep track of where it
  2037. is.
  2038.  
  2039.  
  2040.  III.18)   When installing SLS, the installation script creates a "boot
  2041. floppy" for me to boot Linux with. How can I make these myself (or fix
  2042. problems with them?)
  2043.  
  2044. ANSWER: The SLS install scripts just copy the kernel image to a blank
  2045. floppy for you to boot Linux with. When SLS is installed, a copy of
  2046. the kernel is stored in the file /Image on your hard drive: since you
  2047. use the kernel on your boot floppy to boot, this file isn't used
  2048. during the bootup process (unless you install LILO).
  2049.  
  2050. To make a boot floppy yourself, you must do two things:
  2051.   1) Run 'rdev' (a.k.a. 'rootdev') on the kernel in the file /Image to set
  2052.      the root partition it uses. For example, if your root partition is
  2053.      /dev/hda3, run the command
  2054.     rdev /Image /dev/hda3
  2055.   2) Copy the kernel to a new floppy. You may need to DOS format the floppy
  2056.      first(*). Then run the command
  2057.           cp /Image /dev/fd0
  2058.      if the floppy is in /dev/fd0 (the first floppy drive). You can use a
  2059.      command like
  2060.           dd if=/Image of=/dev/fd0 bs=16k
  2061.      as well; they should accomplish the same thing.
  2062.  
  2063. (*) (From: "Michael L. Kaufman" kaufman@delta.eecs.nwu.edu)
  2064. Formating the floppy lays down the track/sector information. If
  2065. you have a completely unformated floppy, dd can fail in interesting
  2066. ways.  
  2067.  
  2068. Many folks have problems with their SLS boot disks made in this manner
  2069. because they forgot to run 'rdev' on the kernel image before copying
  2070. it to the floppy.
  2071.  
  2072.  III.19)  How can I set the default video mode used by Linux? Do I have
  2073. to recompile the kernel to do this? 
  2074.  
  2075. ANSWER: No, you don't have to recompile the kernel. Just use "rdev" with
  2076. the "-v" switch to set the video mode in the kernel (either on your 
  2077. hard drive (if booting from LILO) or on your boot floppy). For example,
  2078. to change the kernel in /Image to prompt for the videomode on bootup, do
  2079.  rdev -v /Image -3
  2080. to change the kernel on your boot floppy do,
  2081.  rdev -v /dev/fd0 {video-mode}
  2082.  
  2083.  III.20)   How else can I use rdev?
  2084.  
  2085. ANSWER: rdev is very handy and also is used to set the root and swap 
  2086. partitions, ramdisk size, and more, in a compiled kernel. It means you 
  2087. don't have to recompile the kernel to make these changes. Use "rdev -?" 
  2088. for a list of options.
  2089.  
  2090.  
  2091.  III.21)   When I login as non-root, I get tons of errors about
  2092. "shell-init: permission denied". Also, some things work as root but
  2093. not as a normal user. What's the deal?
  2094.  
  2095. ANSWER: This is a really common problem which comes from not having
  2096. permissions set right and a misunderstanding of some UNIX terms. Some
  2097. installations won' t have the file permissions set correctly on the
  2098. various directories that normal users (i.e. non-root) will use. For
  2099. example, if your user directories are in /home, then /home must be of
  2100. mode rwxr-xr-x, or 'chmod 755 /home'.  Also, a home directory must be
  2101. owned by the user who it belongs to (i.e.  /home/mdw must be owned by
  2102. 'mdw'...  just 'chown mdw /home/mdw', for example).  Also, the
  2103. permissions must be set correctly for / (the root directory). Here's a
  2104. list of permissions that should work (although you can use other
  2105. permissions, these are just suggestions that shouldn't cause trouble):
  2106.  
  2107.  permissions (chmod)   owner   file
  2108.  ----------- -------   -----   ---------------------------------------------
  2109.  rwxr-xr-x   (755)     root    /
  2110.  rwxr-xr-x   (755)     root    /home
  2111.  rwxr-xr-x   (755)     mdw     /home/mdw
  2112.  rwxr--r--   (744)     mdw     /home/mdw/.profile (or other startup files)
  2113.  rwxr--r--   (744)     mdw     /home/mdw/foo (normal files)
  2114.  
  2115. In most cases the group of the file doesn't matter, but in general
  2116. most files are set to group 'root' (except for binaries which are
  2117. group bin, and so on) and user files are set to group 'user' (or
  2118. whatever group users are in).
  2119.  
  2120. In general you want directories that everyone can access to be
  2121. rwxr-xr-x (chmod 755). Files that everyone can read are rwxr--r--
  2122. (chmod 744), and programs that everyone can run are rwxr-xr-x (chmod
  2123. 755).
  2124.  
  2125. Thus /bin, /usr, /usr/bin, /etc, and so on, should all be rwxr-xr-x.
  2126. All binaries should be rwxr-xr-x (unless, of course, they're setuid
  2127. programs).  For UNIX newbies, setuid programs run under the user id of
  2128. the owner, thus programs owned by root which have a permission of
  2129. rwsr-xr-x (note the 's') run as root, with root's priveleges. So
  2130. before changing permissions on a program check to see if it's setuid
  2131. first. To make a program setuid prepend a '4' to the permissions you
  2132. give to chmod, i.e. rwsr-xr-x is 'chmod 4755'.
  2133.  
  2134. Here's a list of common uses for permissions:
  2135.  
  2136. permission    effect on files           effect on directories
  2137. ----------    -----------------------   ---------------------------------
  2138. read          lets you look             lets you see what's in the directory
  2139.        at a file, lets you       with ls
  2140.        run a shell script
  2141.  
  2142. write         lets you edit a file or   lets you create or delete a file from
  2143.        copy over it              the directory (*)
  2144.  
  2145. execute       lets you run a binary or  lets you cd into the directory
  2146.        shell script
  2147.  
  2148. (*) Note that you can delete a file from a directory even if you DON'T
  2149. have write access to the file itself! Write access to the DIRECTORY
  2150. that the file is in will let you delete any file in that directory.
  2151. The permissions of the file itself have nothing to do with being able
  2152. to delete a file.  This is standard across all UNIX systems, nothing
  2153. new with Linux.
  2154.  
  2155. If any of this is confusing, please go buy a good book on using UNIX
  2156. and read it. All of the above is standard UNIX fare. It's included here 
  2157. because many Linux newcomers don't take the time to learn UNIX before
  2158. they dive in. :)
  2159.  
  2160.  
  2161.  III.22)  I have the previous version of the Linux kernel, how can 
  2162. I upgrade it?
  2163.  
  2164. ANSWER: If you've never done this before, get the kernel sources from
  2165. your nearest FTP site (in a file named something like linux-*.tar.z)
  2166. and unpack them into /usr/src/linux. As of Linux-0.99 there is a
  2167. script to autoconfigure your kernel, and you need at least GCC version
  2168. 2.3.3. You unpack these sources in /usr/src/linux. Make sure you have
  2169. the logical links for /usr/include/linux and /usr/include/asm as 
  2170. described below.
  2171.  
  2172. First run 'make config' and answer the various questions. Then
  2173. edit /usr/src/linux/Makefile to set the root partition, keyboard, etc.
  2174. Finally, do a 'make dep' (to set dependencies: VERY important!) and
  2175. finally 'make'.  Assuming you have GCC installed correctly, the kernel
  2176. should compile and you'll be left with a new "Image" which is your new
  2177. kernel: if you boot from harddrive, copy the Image to wherever you
  2178. told LILO to look for it, or if you boot from floppy dd the Image to a
  2179. new floppy. Make sure that you run "rdev" on the Image to make it look
  2180. for the correct partition for your root filesystem (if you specified
  2181. this correctly in the Makefile you don't need to do this).
  2182.  
  2183. ** Make sure you read /usr/src/linux/README, which explains in detail
  2184. ** what to do when recompiling the kernel.
  2185.  
  2186. If you HAVE done this before, you can just apply the source patches to
  2187. your old sources and then recompile (i.e. you don't have to get the
  2188. entire kernel sources all over again). Use the "patch" program to do
  2189. this.  Before you recompile the kernel do a 'make dep' to set
  2190. dependencies and a 'make clean'.
  2191.  
  2192.  
  2193.  III.23)  Where is /usr/include/linux and /usr/include/asm, or,
  2194. Why won't the kernel compile correctly?
  2195.  
  2196. ANSWER: The files /usr/include/linux and /usr/include/asm are symbolic
  2197. links to /usr/src/linux/include/linux and /usr/src/linux/include/asm,
  2198. respectively. In other words, all of the Linux include files are
  2199. actually under /usr/src/linux/include, but to access them you need two
  2200. symbolic links in /usr/include:
  2201.  /usr/include/linux -> /usr/src/linux/include/linux
  2202.  /usr/include/asm -> /usr/src/linux/include/asm
  2203. To make these, run the commands
  2204.  ln -sf /usr/src/linux/include/linux /usr/include/linux
  2205.  ln -sf /usr/src/linux/include/asm /usr/include/asm
  2206. NOT the other way around. :) If you dont have these links then many 
  2207. compilations will surely fail.
  2208.  
  2209.  
  2210.  III.24)   How can I upgrade to the newest version of GCC and/or
  2211. libraries? 
  2212.  
  2213. ANSWER: See section IX on GCC for more information, but essentially
  2214. all you need to do is FTP to sunsite.unc.edu (or one of the other
  2215. Linux FTP sites) and look in /pub/Linux/GCC. You'll see a number of
  2216. .tar.z files there (often abbreviated .tpz). The names change from time
  2217. to time: you need to get the compiler (often in a file such as
  2218. 'gcc233.tpz'), header files, and library files. At this point, the
  2219. compiler lives in /usr/bin, the compiler's setup files are under
  2220. /usr/lib/gcc-lib/i386-linux, and the libraries (shared, jump table,
  2221. and static) are all in /usr/lib. It's all very straightforward once
  2222. you actually unpack the tar files and everything falls into place.
  2223.  
  2224.  
  2225.  III.25)  What's the deal with these things called "jump tables"? 
  2226.  
  2227. ANSWER: There's more information in section X and VII, but to be
  2228. brief: There are two kinds of libraries for Linux. As of gcc v2.3.3
  2229. they all live in /usr/lib. The files are...
  2230.  /usr/lib/*.a   static (non-shared) libraries  (use gcc -static ...)
  2231.  /usr/lib/*.sa jump table shared lib stubs (use gcc -jump ...)
  2232.  
  2233. There is an older form of the shared libraries which is no longer widely used.
  2234. Nonetheless, you may run across it from time to time.
  2235.  /usr/lib/*.ca  classic shared lib stubs
  2236.  
  2237. When you compile a program, depending on the options you give gcc
  2238. (-jump is the default) it will link it against one set of these
  2239. libraries. The static libs contain all of the code and thus make your
  2240. executable very big; no shared code is used. The classic shared libs
  2241. were actually 'stubs' which reference the shared code in
  2242. /lib/libc.so.VERSION (where VERSION is a number like '4.2').
  2243. /lib/libc.so.VERSION is a file which contains the actual code of the
  2244. library, which is accessed at runtime by your executable. The
  2245. jump-table library stubs are also shared libs, but they are built in
  2246. such a way that you can upgrade the /lib/libc.so.VERSION file without
  2247. having to recompile the programs that use it.
  2248.  
  2249. So when we say "uses Jump Tables version 4.2" we mean it uses the
  2250. actual library itself, /lib/libc.so.4.2. To compile programs that use
  2251. jump tables version 4.2 you need the right version of /usr/lib/*.sa
  2252. installed, but you don't need them to RUN programs that use jump
  2253. tables.
  2254.  
  2255. However programs that are compiled to use, for example, jump table
  2256. version 4.2 (in the file /lib/libc.so.4.2) won't work if you only have
  2257. libc.so.4.1 installed. They're only backwards-compatible. If you get
  2258. errors about 'can't find /lib/libc.so.4.1' then the executable you're
  2259. using is looking at runtime for a jump table version that you don't
  2260. have. Basically you're safe if you have the most recent version of the
  2261. /lib/libc.so.VERSION file installed (which is found on
  2262. sunsite.unc.edu:/pub/Linux/GCC and comes with the GCC stuff).
  2263.  
  2264. You should always have a symbolic link with the major version number
  2265. of the library in /lib, because that's what's actually read. For
  2266. instance, if you have /lib/libc.so.4.2 installed, then you need the
  2267. symbolic link
  2268.  /lib/libc.so.4 -> /lib/libc.so.4.2
  2269. Make this with the command
  2270.  ln -s /lib/libc.so.4.2 /lib/libc.so.4
  2271.  
  2272.  III.26)  How to upgrade jump tables? (Without hanging my system)
  2273.  
  2274. ANSWER: Be careful! If you upgrade your /lib/libc.so.VERSION file and
  2275. either remove the symlink or delete the old libc.so.VERSION file
  2276. before the new one is in place (and the link points to it), then more
  2277. than likely all of your binaries like "cp", "mv", "ls" and "ln" use
  2278. the library, so they'll all stop working once you kill the link or the
  2279. library file. So to upgrade the file, copy the new version to /lib and
  2280. switch the link in one step with a command such as
  2281.  ln -sf /lib/libc.so.NEW_VERSION /lib/libc.so.4 
  2282. where NEW_VERSION is the new version of the library you're installing.
  2283. This will switch the link in one step and everything should work. You
  2284. just can't copy over the old file because the old version is in use by
  2285. 'cp', 'mv', and so on.
  2286.  
  2287. BTW you get new versions of GCC, jump tables, libraries, include files, etc.
  2288. from tsx-11.mit.edu:/pub/linux/GCC.
  2289.  
  2290.   
  2291.  III.27)  How can I be sure I won't be writing over anything important
  2292. when installing Linux?  I have to use DOS on my machine, and I don't
  2293. want to lose any files.
  2294.  
  2295. ANSWER: Back up everything. Just in case. As long as your DOS and
  2296. Linux partitions don't overlap you should be okay.
  2297.  
  2298.  
  2299.  III.28)  I just rebooted my machine, and now Linux dies with a
  2300. "panic: trying to free unused inode". What's going on?
  2301.  
  2302. ANSWER: You probably forgot to "sync" before rebooting, which stores
  2303. on the disk physically the contents of the kernel buffers. You can
  2304. either run "fsck" on the partition to TRY to correct the problem (it
  2305. might fail), or re-mkfs and re-install the software on that partition.
  2306. For the extended filesystem use "efsck" instead.
  2307.  
  2308. The best way to shutdown your system is the "shutdown" command. To
  2309. shutdown and reboot the system, use
  2310.  shutdown -r now 
  2311. or substitute a number of minutes in place of "now". Leave off the
  2312. "-r" switch if you just want to shutdown and not reboot.
  2313.  
  2314.  
  2315.  III.29)  Can I use both OS/2 and Linux on my machine??
  2316.  
  2317. ANSWER: Yes! See the following two Q/A's about getting your OS/2 Boot
  2318. Manager to work. But, be warned: IF YOU USE OS/2, DO NOT USE LINUX's
  2319. FDISK TO CREATE LINUX PARTITIONS!! The problem is with a bug/feature
  2320. in OS/2's fdisk that tries to correct 'errors' in partitions that it
  2321. doesn't like... Linux partitions included. The solution: make your
  2322. Linux partitions with OS/2's fdisk, then use Linux's fdisk to change
  2323. the partition ID's to the right values (this is self-explanatory with
  2324. Linux's fdisk).
  2325.  
  2326. If you made your Linux partitions with Linux's fdisk, and OS/2 sees
  2327. them, it will think they have errors and end up trashing them.
  2328.  
  2329.  
  2330.  III.30)   I use OS/2's Boot Manager on my hard drive. How can I get it
  2331. to recognize Linux?
  2332.  
  2333. ANSWER: To do this, install LILO on your Linux root partition, NOT on
  2334. your hard drive's master boot record. The lilo command for this would
  2335. be (if /dev/hda3 is your Linux root partition, and your Linux kernel
  2336. is in /Image):
  2337.  
  2338.  /etc/lilo/lilo -c -b /dev/hda3 -v -s /Image
  2339.  
  2340. Then use OS/2's fdisk to add it to the Boot Manager.
  2341.  
  2342. Thanks to Thomas Brodt <brodtts@minnie.informatik.uni-stuttgart.de>.
  2343.  
  2344.  
  2345.  III.31)   When I run Linux's fdisk it says "OPUS" for OS/2's Boot
  2346. Manager partition. Is this right? What's OPUS?
  2347.  
  2348. ANSWER: It's correct. OPUS is BBS software that used partition type
  2349. 0x0A long before OS/2.
  2350.  
  2351.  
  2352.  
  2353. IV. SOME CLASSICAL PROBLEMS 
  2354. ===========================
  2355.  
  2356.   IV.01)  While running du I get "Kernel panic: free_inode: bit
  2357. already cleared".  Also, du produces a ENOENT error for all the files
  2358. in certain of my directories.  What's going on?
  2359.  
  2360. ANSWER: These are both consistent with a bad file-system.  That's
  2361. relatively easy to produce by not syncing before rebooting, as linux
  2362. usually has 1.5MB of buffer space held in memory (unless you have <=4M
  2363. RAM, in which case the buffers are only about 0.5MB). Also linux
  2364. doesn't do anything special about the bit-map blocks, and as they are
  2365. used often, those are the thing most likely to be in memory. If you
  2366. reboot, and they haven't been written to disk ...
  2367.  
  2368. Just do an fsck on the device, the -a flag might repair it otherwise,
  2369. the only thing to do is to reinstall the filesystem from the Images.
  2370.  
  2371. A sync is done only every 30 seconds normally (standard unix
  2372. practice), so do one by hand (some people think you should do 3 syncs
  2373. after each other, but that's superstition, you just have to give time
  2374. to the first sync to finish), or by logging out from the
  2375. startup-shell, which automatically syncs the system. Unmounting a
  2376. filesystem also syncs it (but of course you can never unmount root).
  2377.  
  2378. Another (sad) possibility is that you have bad blocks on your disk.
  2379. Not very probable, as they would have to be in the inode-tables, just
  2380. a couple of blocks in size. Again there aren't programs available to
  2381. read a disk for bad sectors and put them in some kind of
  2382. "bad-sector-file".  On IDE drives this is no problem (bad sectors are
  2383. automatically mapped away).
  2384.  
  2385.  
  2386.   IV.02)  How can I partition my hard-drive to use Linux?
  2387.  
  2388. ANSWER: See section III of the FAQ on installation.
  2389.  
  2390.   IV.03)  I heard something about repartition a hard disk without
  2391. deleting everything on it, any clue?
  2392.  
  2393. ANSWER: It's not a program but a partition procedure which requires
  2394. a) a partitionning program
  2395. b) a sector editor
  2396. The procedure itself can be found (at least) in digest#132 Vol2.
  2397.  
  2398.  
  2399.   IV.04)  What must I do to mkfs a floppy?
  2400.  
  2401. ANSWER: blocks are of size 1K so 1.44 floppy is 1440 blocks. The
  2402. floppy has to be formatted before this will work (e.g., fdformat can
  2403. do this from within Linux).
  2404.  
  2405.  
  2406.   IV.05)  I have some trouble with tar/untar; any clue ?
  2407.  
  2408. ANSWER: The tar provided on .96 and later is Pax (don't know for
  2409. CURRENT_VERSION) which does not accept the z flag. You can download
  2410. the GNU tar at tsx-11 in /pub/linux/binaries/usr.bin 
  2411.  
  2412.  
  2413.   IV.06)  I can do this as root but not as non-root, is it a bug?
  2414.  
  2415. ANSWER: Except for an early make utility, the problem is caused by an
  2416. incorrect permission flag. The most common problems are about /tmp
  2417. which should be 1777 and /dev/ttys? which might be 766. So as root do
  2418.  
  2419.  chmod 1777 /tmp ; chmod 766 /dev/ttys?
  2420.  
  2421.  
  2422.   IV.07)  "du" reports twice the size showed with "ls -l", is it a
  2423. bug?
  2424.  
  2425. ANSWER: No it is not, the report is 512 bytes multiple (due to POSIX
  2426. requirement), for KB you just add the -k flag. You can add a du
  2427. function in your .profile which does this automatically, something
  2428. like du(){ /usr/bin/du -k $* }
  2429.  
  2430.  
  2431.   IV.08)  Sometimes, I get "mount can't open lock file"; what does this
  2432. means? 
  2433.  
  2434. ANSWER: This can happened for two reasons: 
  2435. A) You try to mount something as non-root. In that case you can either
  2436. retry as root, or set the setuid bit to mount as follows:
  2437. - be sure that mount belongs to root, if not do 'chown root /bin/mount'
  2438. - set the setuid bit with 'chmod u+s /bin/mount'
  2439. BTW you have to do the same with umount (in order to be able to unmount) 
  2440. Remark that it is NOT safe to allow anyone to perform mount/umount.
  2441.  
  2442. B) You are root. mount wants to open /etc/mtab and /etc/mtab~ - the
  2443. first one for reading, the second as lock file. If there is already a
  2444. mtab~ remove it. This can happen if you used once gnuemacs on mtab.
  2445.  
  2446. To forbid that case, just add the following entry in your /etc/rc file:
  2447. rm -f /etc/mtab~
  2448.  
  2449.  
  2450.   IV.09)  When I try "mount /dev/hd?? /user", I get error 2.
  2451.  
  2452. ANSWER: Be sure, that your mount point /user does exist; if not perform 
  2453. a "mkdir /user". 
  2454. BTW the error numbering is explained in /usr/include/errno.h
  2455.  
  2456.  
  2457.   IV.10)  Since I have upgrade my Linux kernel, ps won't work anymore,
  2458. why? 
  2459.  
  2460. ANSWER: Each time you upgrade (or re-compile the kernel), you should
  2461. perform a 'ps -U' (-U is for update the /etc/psdatabase). 
  2462.  
  2463. Every time you boot a new kernel you have to do a 'ps -U' to update
  2464. the psdatabase, after doing this you can remove the system file or
  2465. even have to patch the ps-suite.
  2466.  
  2467. BTW: sometimes a patch makes recompiling ps necessary. Sometimes you
  2468. do a make clean.
  2469.  
  2470. NOTE: As of 0.99 there is now a ps package which uses the "/proc
  2471. filesystem".  This is a meta-filesystem which has an entry for each
  2472. process that's running... create the directory /proc and do a 
  2473. 'mount -t proc /proc /proc' to see it, or else add the following
  2474. entry in your /etc/fstab:
  2475.  
  2476.  none  /proc  proc
  2477.  
  2478. You can get the "procps" package from tsx-11.mit.edu in
  2479. /pub/linux/BETA/procps. The nice thing about this is: you don't have
  2480. to upgrade it for every kernel version (and thus ps -U is meaningless
  2481. if you use procps).
  2482.  
  2483. MKJ wrote in c.o.l.a:
  2484.  
  2485. tsx-11.mit.edu:/pub/linux/BETA/procps/procps.tar.Z is the latest
  2486. version of procps.  Most of the reported bugs (i.e. all I can remember
  2487. at the moment ;-) have been fixed, a man page for ps has been added,
  2488. and several new programs have been added and/or fixed.  A list of the
  2489. stuff provided:
  2490.  ps
  2491.  free (a real one, from Linus)
  2492.  uptime (this needs work to be good, mine is a hack)
  2493.  tload (a hack, but who cares?)
  2494.  xload (from drew)
  2495.  fuser (perl script prototype, hopefully the real thing in a
  2496.                later release)
  2497.  
  2498.   IV.11)  Since Linux 0.96b I have a lot of core file all over
  2499. my disk. How can I sweep them away ?
  2500.  
  2501. ANSWER: Use the following command
  2502.   find / -name core -exec rm {} \;
  2503.  
  2504. BTW: think twice before using this command, there might be a John Core
  2505. user on your system; this command will erase his mail :)
  2506.  
  2507. If you never want to see another core file, put this line into
  2508. your /etc/rc file:
  2509.  for a bash user
  2510.      ulimit -c 0
  2511.  for a csh or tcsh user
  2512.     limit coredumpsize 0
  2513.  
  2514.  
  2515.  
  2516.   IV.12)  I can only log-in as "root", is it normal ?
  2517.  
  2518. ANSWER: No, add "rm -f /etc/nologin" in your /etc/rc.local file
  2519.  
  2520.   IV.13)  Sometimes my Linux virtual console get messed up when I cat
  2521. a binary file. The characters shown are above ascii 127, any clue ?
  2522.  
  2523. ANSWER: (J. Stuckey stuckey@mrcnext.cso.uiuc.edu)
  2524.  
  2525. It's a vt-100 thing I think.
  2526. echo "^V^O"
  2527. should fix it.  Control-V is the literal-next character that stty
  2528. reports for me, and Control-O is the "magic" character that returns
  2529. you to livability. 
  2530.  
  2531.  
  2532. V. LINUX and DOS 
  2533. =================
  2534. *** This section is co-written by Mark Komarinski, A. V. Le Blanc and
  2535. *** MM. Corsini. The official maintainer is Mark, if you have *any*
  2536. *** questions, mail him at komarimf@craft.camp.clarkson.edu 
  2537. *** Last Update 03.08.93
  2538.  
  2539.  
  2540.    V.01)  Is is possible to access DOS from Linux?
  2541.  
  2542. ANSWER: Yes.  
  2543. (1) The mtools package allows you to access DOS files;
  2544. it emulates the DOS commands CD, COPY, DEL, DIR, TYPE, and others.
  2545. (2)  Since approximately version 0.97 of the kernel, you can mount
  2546. DOS file systems as part of your Linux directory tree, providing you
  2547. have an appropriate mount command.  
  2548. (3)  A DOS emulator is in alpha test, which will allow some DOS programs
  2549. and utilities to run under Linux. 
  2550.  
  2551.  
  2552.    V.02)  Why use mtools if you can just mount a drive?
  2553.  
  2554. ANSWER: Mtools is good if you want to do something quickly.  For
  2555. example, if you want to get directories on a bunch of floppies.  The
  2556. mount procedure requires you to mount the drive, get a directory, then
  2557. umount it. Mtools lets you get the directory with one command.
  2558.  
  2559. (Dirk Hohndel:) Mtools is really fast when copying disks. I mount the
  2560. SLS directory of my SUN to my linux box and use mcopy to get the files
  2561. on the disks. 3 times faster than using xcopy under DOS
  2562.  
  2563.  
  2564.    V.03)  How do I get the mtools package set up correctly?
  2565.  
  2566. ANSWER: The mtools package is available in source form on most Linux
  2567. ftp sites.  The most recent version (As of Sept 1992) is mtools.n2,
  2568. and there are linked binaries and library (.a) files available as
  2569. well (for example, as part of MCC interim releases of Linux).
  2570. In the n2 release of mtools, there is only one executable binary
  2571. which works differently depending on its name: you can create hard
  2572. or symbolic links to it named mcopy, mdel, mdir, mtype, etc; this
  2573. is how the Makefile in version n2 of mtools does it, and it saves
  2574. several hundred kilobytes of disk space.  Finally, you need the
  2575. correct information in the file /etc/mtools, which is described below.
  2576. Mtools also comes with the SLS release of linux.
  2577.  
  2578.  
  2579.    V.04)  What is the format of the file /etc/mtools?
  2580.  
  2581. ANSWER: A complete entry in the file /etc/mtools contains the following
  2582. fields: drive, device, fat, cylinders, heads, sectors, offset.  Two
  2583. examples of entries from /etc/mtools are
  2584.  
  2585.      A /dev/fd0 12 80 2 15
  2586.      C /dev/hda1 16 0 0 0
  2587.  
  2588. which defines the DOS disk A: as accessible through the device /dev/fd0,
  2589. having a 12-bit FAT, 80 cylinders, 2 heads, and 15 sectors per track;
  2590. DOS disk C: is accessible through the device /dev/hda1, has a 16-bit
  2591. FAT, and its geometry is simply that of the hard disk where it lives.
  2592. The last three numbers can be 0 if you wish; this allows mtools to
  2593. try to figure out the disk's geometry itself, and perhaps to fail.
  2594. A 12-bit FAT is common for floppies, but may occur in small hard
  2595. disk partitions.  A 16-bit FAT is common for hard disks.
  2596. This is an extract of my /etc/mtools file:
  2597. A /dev/fd0 12 0 0 0     # 3.5  1.4 Meg (autodetect)
  2598. B /dev/fd1 12 0 0 0  # 5.25 1.2 Meg (autodetect)
  2599. C /dev/hda1 16 0 0 0 # 1st partition of my Disk
  2600.  
  2601.  
  2602.    V.05)  Where can I find out more about mtools?
  2603.  
  2604. ANSWER: There are two detailed README files in the mtools.n2 distribu-
  2605. tion.  These files treat compiling and using mtools.  There is a file
  2606. README.mtools which treats only using mtools, which is a part of the
  2607. MCC interim version of Linux.
  2608.  
  2609.  
  2610.    V.06)  How do I use the DOS file system?
  2611.  
  2612. ANSWER: The DOS file system is part of the kernel.  If you have a
  2613. kernel of level .97.1 or above, and an appropriate mount command, type
  2614.  
  2615.      mount -t msdos [-o conv=text] /dev/hda1 /dos
  2616.  
  2617. to mount the partition /dev/hda1 as an MS/DOS file system on the
  2618. directory /dos.  You'll need a recent mount command, from at least
  2619. release 97 or later of the root disk.  Recent mount commands also
  2620. accept the options conv=binary|text|auto (default is binary) to
  2621. specify that text end-of-lines in DOS files are to be converted to
  2622. UNIX end-of-lines (by omitting carriage return characters) in no cases
  2623. (binary) or in all cases (text) or in cases that don't have 'well-
  2624. known binary extensions' (e.g., .EXE or .COM) (auto).
  2625.  
  2626.  
  2627.    V.07)   When I mount an MS-DOS disk, I get two lines of what seem to
  2628. be error messages and the message: No bmap support.  Is my disk bad?
  2629.  
  2630. ANSWER: No.  Since the dosfs is still in ALPHA mode, the two lines are
  2631. used for displaying information about the disk that was mounted, just in
  2632. case you have problems.  The 'No bmap support' message means that you
  2633. cannot run linux programs from that partition.  This has been fixed in the 
  2634. latest release (alpha.9)
  2635.  
  2636.  
  2637.    V.08)  I want to use the DOS file system with either conv=binary or
  2638. conv=auto, but I want to convert text files from DOS to UNIX format,
  2639. or from UNIX to DOS format.
  2640.  
  2641. ANSWER: Use the utility todos/fromdos which comes as part of the
  2642. dosfs package, currently (Sept 92) in released in version 8, or
  2643. use the flip utility by Rahul Dhesi.
  2644.  
  2645.  
  2646.    V.09)  Where can I find out more about the DOS file system?
  2647.  
  2648. ANSWER: There is a README file included in dosfs.XX.tar.Z (the current
  2649. value of XX is 10)
  2650.  
  2651.  
  2652.    V.10)  This sounds me like a chicken and eggs problem, how can I
  2653. install the mtools package at the very beginning.
  2654.  
  2655. ANSWER: You have to use rawrite or the mount procedure.
  2656.  
  2657.  
  2658.    V.11)  Could someone explain how to use rawrite?
  2659.  
  2660. ANSWER: Rawrite is a DOS util which write sequential sectors of
  2661. a formatted disk/floppy. When a floppy has been rawritten, you can
  2662. (under Linux) untar it (use x, v, z and f flags). As an example:
  2663. a) under Dos use rawrite
  2664. rawrite
  2665.  source: kermit.z
  2666.  destination: a
  2667. b) boot under Linux, and perform a tar
  2668. tar zxvf /dev/fd0
  2669. tar zxvp < /dev/fd0
  2670.  
  2671. You DO NOT NEED TO MOUNT a rawritten disk
  2672.  
  2673.  
  2674.    V.12)  What is as86.tar.Z ?
  2675.  
  2676. ANSWER: It's the port of Bruce Evans' minix assembler, you need it to 
  2677. be able to recompile Linux at your convenience. In fact this is ONLY
  2678. used for boot/setup.S and boot/bootsect.S they create 80x86 REAL mode
  2679. code. 
  2680.  
  2681.  
  2682.    V.13)  Turbo (Microsoft) Assembler won't compile the Linux boot
  2683. code.  In fact, some of the opcodes in these files look completely
  2684. unfamiliar.  Why?
  2685.  
  2686. ANSWER: The Linux boot codes are written in Bruce Evans' minix
  2687. assembler, which has the same opcodes as the original minix assembler
  2688. ported to linux get as86.tar.Z There are a few differences
  2689. between these and normal DOS assemblers.
  2690.  
  2691.  
  2692.    V.14)  What about the dos emulator (dosemu)?
  2693.  
  2694. ANSWER: Dosemu is in alpha testing now, so it is very unstable and crashes
  2695. easily.  Some programs (such as earlier versions of Turbo Pascal; TP
  2696. 5.5 too) seem to work fine, but other programs such as dir /p will
  2697. crash the emulator. 
  2698. Look in your favorite FTP site for the dosemu kit.  For a semi-complete
  2699. list of programs that do and do not work under the emulator, get the file
  2700. /pub/Linux/docs/emusucc.txt at sunsite.unc.edu or tsx-11.mit.edu.
  2701.  
  2702.  
  2703.    V.15)   I have a Stacker volume on my hard drive.  Can I access that?
  2704.  
  2705. ANSWER:  Yes, but you will have to do that through the dosemu program. 
  2706. For more information on it, check out the file /pub/Linux/docs/stacker.doc
  2707. at sunsite.unc.edu
  2708.  
  2709.  
  2710.    V.16)   How about OS/2 HPFS partitions, or MacIntosh/Amiga floppies?
  2711. Can I mount any of them?
  2712.  
  2713. ANSWER:  There is no support for any of those filesystems yet.
  2714.  
  2715.  
  2716.     ===================8<==========>8================
  2717. -- 
  2718. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2719. # LaBRI     |         #
  2720. #  351 cours de la Liberation    |  e-mail:  corsini@geocub.greco-prog.fr   #
  2721. #  33405 Talence Cedex   |  e-mail:  corsini@labri.u-bordeaux.fr    #
  2722. #       |         #
  2723. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2724. -- 
  2725.   There will be a sig when our local net is reliable.
  2726.         For now, I would rather stay anonymous.
  2727.  
  2728. Archive-name: linux-faq/part3
  2729. Last-Modified: 93/06/07
  2730. Version: 1.18
  2731.  
  2732. *********************************************************
  2733. *       *
  2734. *   Answers to Frequently asked questions about Linux   *
  2735. *       *
  2736. *********************************************************
  2737.  
  2738. This post contains Part 3 of the Linux FAQ (4 parts).
  2739. It must be read *after* the 2 first parts. 
  2740.  
  2741. ===================================8<====>8============================
  2742. CONTENTS (of this part)
  2743.  
  2744.  VI.  MISCELLANEOUS HINTS   (part3)
  2745.  VII. MORE HINTS   (part3)
  2746.  VIII.  EMACS for LINUX   (part3)
  2747.  
  2748. ===================================8<====>8============================
  2749.  
  2750.  
  2751.  
  2752. VI. MISCELLANEOUS HINTS 
  2753. =======================
  2754. *** This section is maintained by Matt Welsh (mdw@tc.cornell.edu). Please
  2755. *** mail me if you have any changes/updates/questions. Thanks -mdw
  2756.  
  2757. Special gcc information are located in section X. A special section is
  2758. devoted to it since it's *the* compiler of Linux. I have subsectionned
  2759. this part in 3 subsections: 
  2760.  
  2761.  
  2762. VI.A Misc Information
  2763. VI.B Minor/Major Information
  2764.  
  2765. VI.C Serial Information
  2766.  
  2767.  
  2768. VI.A. Misc information
  2769. ~~~~~~~~~~~~~~~~~~~~~~
  2770.  
  2771.   VI.01)  It seems that $#@! ported on linux don't run correctly, what
  2772. do I do about reporting bugs?
  2773.  
  2774. ANSWER: (Matt Welsh) It's possible that either the program itself has a bug
  2775. or that Linux has a problem that this program brings out. :) But first check
  2776. that the size of the file(s) corresponds that of the files(s) on the FTP
  2777. sites where it's available. If they're different, either you downloaded them
  2778. incorrectly (i.e. you forgot to turn on "bin") or whoever put them on the
  2779. FTP site uploaded them incorrectly. 
  2780.  
  2781. If that's not the problem, then post to comp.os.linux asking about the 
  2782. program, to verify that it is a bug. PLEASE: when posting possible "bug 
  2783. reports" include all error and output information from running/compiling
  2784. the program. Just saying "it doesn't work" isn't very helpful. Also mention
  2785. your specific setup, Linux version, GCC version, etc. Some of these things
  2786. depend on running under certain versions and you may have missed that
  2787. information. 
  2788.  
  2789. Note that my "ml-linux-bugs@dg-rtp.dg.com" bug reporting list has been
  2790. phased out. It turns out that Linux has so few bugs, most of which are
  2791. resolved on the newsgroup or through Linus before I can accumulate them
  2792. and post. :) In short: if there's a bug in Linux or in Linux-ported
  2793. software, it will usually be fixed in the next patchlevel or version.
  2794.  
  2795.  
  2796.   VI.02)  Has $#@! been ported to Linux?
  2797.  
  2798. ANSWER: First check out the FTP sites and read the monthly INFO-SHEET,
  2799. as well as the new "Linux News" and the META-FAQ's (all of which are 
  2800. either available on the FTP sites and/or posted to the newsgroup as they're
  2801. written). Also check out the "Linux Project Registry" (posted to the 
  2802. newsgroup and on the FTP sites) which lists ongoing/current Linux projects.
  2803. Also look in the "old" Linux digests and mailing-list archives, kept on
  2804. tsx-11.mit.edu and nic.funet.fi. Also, see if there's a GNU(*) version
  2805. of the program you're looking for (which are available everywhere).
  2806. Since Linux uses GCC as its native compiler, most GNU software ports
  2807. directly to Linux without problems. If all else fails, ask on the
  2808. mailing list or newsgroup if the program is ported and where it's
  2809. available. 
  2810.  
  2811.  
  2812. (*) GNU stands for GNU's Not Unix, which (besides being a recursive
  2813. acronym) is a project started by the Free Software Foundation (the FSF)
  2814. to write a freely distributable version of Unix.  The GNU kernel is
  2815. named HURD, and is based on Mach.  It is currently being written, and is
  2816. not yet done.  Many of the GNU utilities, however, are completed and are
  2817. much more functional than the original Unix utilities.  Since they are
  2818. freely available, Linux is using them as well.
  2819.  
  2820.  
  2821.  
  2822.   VI.03)  I've ported $#@! to Linux, what should i do to add it in the 
  2823. standard distribution?
  2824.  
  2825. ANSWER: (Matt Welsh) First read the previous Q/A, then talk to the
  2826. maintainers of the various releases (MCC interim, SLS, and so on)
  2827. about including your program with those releases. The best way to make
  2828. programs available to the rest of the world is to upload it to one of
  2829. the Linux FTP sites (such as tsx-11.mit.edu:/pub/incoming or
  2830. sunsite.unc.edu:/pub/Linux/Incoming). 
  2831.  
  2832. BTW Whenever you submit binaries, please think that if you link them
  2833. with shared libraries, this might cause problems for those who (gasp!)
  2834. don't have the shared libraries installed. You can either link them
  2835. using -static, and if someone wants to build a shared version on their
  2836. own machine they can get the sources (which you should also make
  2837. available) and build it themself. Or else provide the shared lib.
  2838.  
  2839.  
  2840.   VI.04)  I want to port $#@! to Linux, what are the flags?
  2841.  
  2842. ANSWER: Recall that Linux implements subset of SYSV and POSIX, so
  2843. -DUSG and -DPOSIX work in general. 
  2844.  
  2845. NOTE1: SIGBUS is not there, and can be safely commented out in general.
  2846. NOTE2: see section related to GCC, in the third part of this FAQ, for
  2847. more details. 
  2848.  
  2849.  
  2850. VI.B. Major/Minor device number
  2851. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2852. *** This section is maintained by Rick Miller, any comments,
  2853. *** suggestions, remarks should be mailed to him at <rick@ee.uwm.edu>
  2854. *** Last Update: April 1993
  2855.  
  2856. This is a list of the device names, along with Major and minor numbers,
  2857. which the Linux kernel may currently recognize.  I say "may" because some
  2858. of them may require patches to your kernel, others must be configured-in
  2859. using the Linux kernel's "make config" routine before compiling.
  2860.  
  2861. My profuse thanks to all the writers of device drivers for Linux, and to
  2862. all those patient folks who took the time to explain their devices to me.
  2863. May they become obscenely rich.  Until then, I hope this list will help
  2864. prevent driver collisions and perhaps lend a clue to a newbie or two.
  2865.  
  2866.  
  2867.         IF YOU WANT ANY CHANGES OR ADDITIONS TO THIS LIST, *TELL ME*!
  2868.  
  2869.         DEVICES NOT LISTED HERE SHOULD USE MAJOR NUMBERS *ABOVE 127*
  2870.         UNTIL ALLOCATED A MORE PERMANENT NUMBER IN THE LOWER RANGE.
  2871.         (I suggest using a more-or-less random number to avoid the
  2872.          chance of collisions with any other experimental drivers.)
  2873.  
  2874.         TO HAVE MAJOR/MINOR NUMBERS ALLOCATED (OFFICIALLY) FOR
  2875.         YOUR DEVICE DRIVER, SEND E-MAIL TO:  RICK@EE.UWM.EDU
  2876.  
  2877.   VI.05)  What are the device minor/major numbers?
  2878.  
  2879. Majors:
  2880.   0.  Unnamed .......  (unknown) ....  for proc-fs, NFS clients, etc. (???)
  2881.   1.  Memory ........  (character) ..  mem ramdisk kmem null port zero core
  2882.   2.  Floppy ........  (block) ......  fd[0-3]<[dhDH]{360,720,1200,1440}>
  2883.   3.  AT-Disk .......  (block) ......  hd[a-b]<[0-8]>
  2884.   4.  Tty ...........  (character) ..  tty's and pty's
  2885.   5.  Dial-out ......  (character) ..  tty cua*
  2886.   6.  Parallel ......  (character) ..  par[0-2] lp[0-2]
  2887.   8.  SCSI-Disk .....  (block) ......  sd[a-h]<[0-8]>
  2888.   9.  SCSI-Tape .....  (character) ..  <n>st[0-1] or <n>rmt[0-1]
  2889.  10.  Mouse .........  (character) ..  logibm psaux inportbm atibm (mouse)
  2890.  11.  CD-ROM ........  (block) ......  scd[0-1]
  2891.  12.  QIC-tape? .....  (character) ..  rmt{8,16} tape<{-d,-reset}>
  2892.  13.  XT-disk .......  (block) ......  xd[a-b]<[0-8]>
  2893.  14.  Audio .........  (character) ..  audio dsp midi mixer sequencer
  2894.  15.  Joystick ......  (character) ..  js[0-1]
  2895.  16.  Socket ........  (character) ..  net arp
  2896.  17.  AF_UNIX .......  (character) ..  unix
  2897.  18.  AF_INET .......  (character) ..  inet ip icmp tcp udp
  2898.  19.  WE-driver .....  (character) ..  we[0-3]
  2899.  20.  DP8390-driver .  (character) ..  wd[0-3] ec[0-3] ne[0-3]
  2900.  21.  Sony-CD-ROM ...  (block) ......  sonycd
  2901.  22.  2nd AT-Cntrlr .  (block) ......  hd1[a-b]<[0-8]>
  2902.  23.  Mitsumi CD-ROM   (block) ......  mcd
  2903.  31.  Link Interface   (character?) .  ???
  2904.  
  2905. Breakdown of minors by Majors:
  2906. ------------------------------
  2907.   0.  Unnamed .......  (unknown) ....  for proc-fs, NFS clients, etc.
  2908.         Minors?
  2909.  
  2910.   1.  Memory ........  (character) ..  ram mem kmem null port zero core
  2911.         (0.  /dev/ram:  was supposed to be the ramdisk, but never got used.
  2912.          As of this date it has not been implemented and probably won't be.)
  2913.         1.  /dev/mem
  2914.         1.  /dev/ramdisk: a BLOCK device (the RAM-disk)
  2915.         2.  /dev/kmem
  2916.         3.  /dev/null
  2917.         4.  /dev/port
  2918.         5.  /dev/zero
  2919.         6.  /dev/core:  like /dev/mem, but in "core"-file format for gdb
  2920.  
  2921.   2.  Floppy ........  (block) ......  fd[0-3]<[dhDH]{360,720,1200,1440}>
  2922.         Minors are [[4 * type] + drive] where drive 0-3 == A:-D: (floppy)
  2923.         and type is:    0: Autodetect           4: 720k on 3.5" DD
  2924.                         1: 360k on 5.25" DD     5: 360k on 5.25" HD
  2925.                         2: 1.2M on 5.25" HD     6. 720k on 5.25" HD
  2926.                         3: 360k on 3.5" DD      7. 1.44M on 3.5" HD
  2927.  
  2928.         0. /dev/fd0:  Autodetected first floppy.
  2929.         1. /dev/fd1:  Autodetected second floppy.
  2930.         2. /dev/fd2:  Autodetected third floppy.
  2931.         3. /dev/fd3:  Autodetected fourth floppy.
  2932.         4. /dev/fd0d360:  360k on 5.25" DD in first drive
  2933.         5. /dev/fd1d360:  360k on 5.25" DD in second drive
  2934.                 (You can work out the rest of the intermediates...)
  2935.         8. /dev/fd0h1200:  1.2M on 5.25" HD in first drive
  2936.         12. /dev/fd0D360 (/dev/fd0H360):  360k on 3.5" DD in first drive
  2937.         16. /dev/fd0D720 (/dev/fd0H720):  720k on 3.5" DD in first drive
  2938.         20. /dev/fd0h360:  360k on 5.25" HD in first drive
  2939.         24. /dev/fd0h720:  720k on 5.25" HD in first drive
  2940.         28. /dev/fd0H1440:  1.44M on 3.5" HD in first drive
  2941.  
  2942.      Naming goes like this:
  2943.         fd[drive][media][size]
  2944.          where: [drive]=0-3:  Corresponds to DOS's "A:"-"D:".
  2945.                 [media]={d,h,D,H}:  d=Double Density 5.25" diskette
  2946.                                     h=High Density 5.25" diskette
  2947.                                     D=Double Density 3.5" diskette
  2948.                                     H=High Density 3.5" diskette
  2949.                 [size]={360,720,1200,1440} kilobytes.
  2950.  
  2951.      Floppies are assumed to be double-sided (DS), and
  2952.         drives are assumed to be high-density devices.
  2953.  
  2954.   3.  AT-Disk .......  (block) ......  hd[a-d]<[0-8]>
  2955.      (For IDE, MFM, and RLE drives and controllers.)
  2956.       On the first AT controller card:
  2957.         0.  /dev/hda (/dev/hda0):  The whole first HD, including its MBR.
  2958.         1-4.  /dev/hda{1-4}:  Primary partitions on the first hard drive.
  2959.         5-8.  /dev/hda{5-8}:  Extended partitions on the first hard drive.
  2960.         64.  /dev/hdb (/dev/hdb0):  The whole second HD, including its MBR.
  2961.         65-68.  /dev/hdb{1-4}:  Primary partitions on the second hard drive.
  2962.         69-72.  /dev/hdb{5-8}:  Extended partitions on the second hard drive.
  2963.       On the second AT controller card:
  2964.         128.  /dev/hdc (/dev/hdc0):  The whole third HD, including its MBR.
  2965.         129-132.  /dev/hdc{1-4}:  Primary partitions on the third hard drive.
  2966.         133-136.  /dev/hdc{5-8}:  Extended partitions on the third hard drive.
  2967.         192.  /dev/hdd (/dev/hdd0):  The whole fourth HD, including its MBR.
  2968.         193-196.  /dev/hdd{1-4}:  Primary partitions on the fourth hard drive.
  2969.         197-200.  /dev/hdd{5-8}:  Extended partitions on the fourth hard drive.
  2970.  
  2971.         Notes:  BE *VERY* CAREFUL WITH the four "whole drive" devices (hda,
  2972.                 hdb, hdc, and hdd)!!  These four devices embody the *entire*
  2973.                 *drive*, not just one partition.  The only things that use
  2974.                 them are things that need to read/change the partition table
  2975.                 (like fdisk).
  2976.  
  2977.                 Linux doesn't order anything.  It perceives partitions in the
  2978.                 order in which they appear in the partition table.  Thus,
  2979.                 /dev/hd?1 may follow /dev/hd?2 in the cylinder numbering.
  2980.  
  2981.                 The names of the hard drives are not the same as under Minix.
  2982.  
  2983.   4.  Tty ...........  (character) ..  tty's and pty's
  2984.         0.  /dev/tty0:  This is the currently active Virtual Console.
  2985.         1-9.  /dev/tty[1-9]:  Specific virtual consoles.
  2986.         10-63.  /dev/ttyV[10-63]:  More virtual consoles that nobody uses.
  2987.         64-127.  /dev/tty[0-?][0-63]:  Dial-in serial ([controller][port]).
  2988.         128-191.  /dev/pty[p-s][0-f]:  PTY Masters.
  2989.         192-255.  /dev/tty[p-s][0-f]:  PTY Slaves. ([0-f]=0123456789abcdef)
  2990.  
  2991.         Notes:  NOTICE THE NEW NAMING FOR SERIAL LINES.  Serial lines will
  2992.                 be named either "tty..." or "cua..." (See Major #5) followed
  2993.                 by the one-digit number of the *board* the line is from, and
  2994.                 the number of the line on that board.  The four default lines
  2995.                 are considered to be on board "0", so what DOS calls "COM2:"
  2996.                 should now be known as "/dev/tty01" or "/dev/cua01".
  2997.  
  2998.                 For more information on the use of multi-port boards, read
  2999.                 the documentation which accompanies the serial patches.
  3000.  
  3001.   5.  Dial-out ......  (character) ..  tty cua*
  3002.         0.  /dev/tty:  the tty that owns the process calling it.
  3003.         64-127.  /dev/cua[0-?][0-63]:  Dial-out serial ([controller][port]).
  3004.                 (See Major #4 for NEW NAMING CONVENTION.)
  3005.  
  3006.   6.  Parallel ......  (character) ..  par[0-2] lp[0-2]
  3007.      Parallel (printer) ports.  (Increasable in include/linux/lp.h)
  3008.         0.  /dev/par0 (/dev/lp0):  First XT parallel port
  3009.         1.  /dev/par1 (/dev/lp1):  First AT parallel port
  3010.         2.  /dev/par2 (/dev/lp2):  Second AT parallel port
  3011.  
  3012.         Notes:  The number of line printers is defined by LP_NO which is
  3013.                 found in [/usr/src]/linux/include/lp.h.
  3014.  
  3015.   7.  Unused.  (First come, first serve.)
  3016.         This one's getting old.  No minor numbers are yet assigned.
  3017.         It's not even in the source code.  Maybe it never will be...
  3018.  
  3019.   8.  SCSI-Disk .....  (block) ......  sd[a-h]<[0-8]>
  3020.         Minors numbers are ((16 * Drive) + Partition)
  3021.         where
  3022.           Drive is the number of the physical drive in order of detection
  3023.         and
  3024.           Partition is as follows:
  3025.                 0   is the whole drive
  3026.                 1-4 are the DOS "primary" partitions
  3027.                 5-15 are the DOS "extended" (or "logical") partitions, so...
  3028.  
  3029.         0.  /dev/sda (/dev/sda0):  The first (detected) SCSI drive.
  3030.         1-4.  /dev/sda[1-4]:  Primary partitions on the first SCSI drive.
  3031.         5-15.  /dev/sda[5-15]:  Extended partitions on the first SCSI drive.
  3032.         16.  /dev/sdb (/dev/sdb0):  The second (detected) SCSI drive.
  3033.         17-20.  /dev/sdb[1-4]:  Primary partitions on the second drive.
  3034.         21-31.  /dev/sdb[5-15]:  Extended partitions on the second drive.
  3035.         32.  /dev/sdc (/dev/sdc0):  The third (detected) SCSI drive.
  3036.         ...and so on.
  3037.  
  3038.   9.  SCSI-Tape .....  (character) ..  <n>st[0-1] or <n>rmt[0-1]
  3039.         0.  /dev/st0:  First (detected) SCSI tape drive, rewind-on-close.
  3040.         1.  /dev/st1:  Second (detected) SCSI tape drive, rewind-on-close.
  3041.         128.  /dev/nst0:  First (detected) SCSI tape, *no* rewind-on-close.
  3042.         129.  /dev/nst1:  Second (detected) SCSI tape, *no* rewind-on-close.
  3043.  
  3044.  10.  Mouse .........  (character) ..  logibm psaux inportbm atibm (mouse)
  3045.      (MGR may require that /dev/mouse be linked to one of these...)
  3046.                 NOTE THE CHANGES TO DIFFERENTIATE MOUSE TYPES!
  3047.                 (Please implement these in the distributions.)
  3048.         0.  /dev/logibm:  Logitec-'compatible' bus mouse
  3049.         1.  /dev/psaux:  PS/2 mouse port (may not work on some lap-tops, yet)
  3050.         2.  /dev/inportbm:  MicroSoft "InPort" bus mouse
  3051.         3.  /dev/atibm:  ATI XL bus mouse
  3052.  
  3053.  11.  CD-ROM ........  (block) ......  scd[0-1]
  3054.         0.  /dev/scd0:  The first (detected) SCSI CD-ROM.
  3055.         1.  /dev/scd1:  The second (detected) SCSI CD-ROM.
  3056.         ("There's not much more to it than that" says Eric Youngdale.)
  3057.  
  3058.  12.  QIC-tape? .....  (character) ..  rmt{8,16} tape<{-d,-reset}>
  3059.      (I really don't have much info on this one... )
  3060.         6.  /dev/rmt8:  QIC-120
  3061.         8.  /dev/rmt16 (/dev/tape):  QIC-150
  3062.         136.  /dev/tape-d:  (It has something to do with being 128+8... ?)
  3063.         255.  /dev/tape-reset:  For resetting only.
  3064.  
  3065.  13.  XT-disk .......  (block) ......  xd[a-b]<[0-8]>
  3066.      XT (8-bit) hard disk controller devices.
  3067.         Minor numbers are assigned in the same manner as for the
  3068.         normal (AT-type) Hard Drive devices ("/dev/hd*").
  3069.  
  3070.  14.  Audio .........  (character) ..  audio dsp midi mixer sequencer
  3071.         0.  /dev/mixer:  Mixer and Control Device
  3072.         1.  /dev/sequencer:  FM-synthesizer and Midi
  3073.         2.  /dev/midi:  (for future use)
  3074.         3.  /dev/dsp:  Digitized voice (DAC/ADC)
  3075.         4.  /dev/audio:  (Reserved for compatibility with Sun)
  3076.  
  3077.  15.  Joystick ......  (character) ..  js[0-1]
  3078.         0.  /dev/js0:  (Left/Right?) joystick.
  3079.         1.  /dev/js1:  (Right/Left?) joystick.
  3080.  
  3081.  16.  Socket ........  (character) ..  net arp
  3082.         0.  /dev/net:  Generic layer (sockets)
  3083.         1.  /dev/arp:  Address Resolution Protocol (ARP)
  3084.  
  3085.  17.  AF_UNIX .......  (character) ..  unix
  3086.         0.  /dev/unix:  AF_UNIX protocol layer
  3087.  
  3088.  18.  AF_INET .......  (character) ..  inet ip icmp tcp udp
  3089.         0.  /dev/inet:  AF_INET protocol layer
  3090.         1.  /dev/ip:  Inernet Protocol (IP)
  3091.         2.  /dev/icmp:  Internet Control Message Protocol (ICMP)
  3092.         3.  /dev/tcp:  Transmission Control Protocol (TCP)
  3093.         4.  /dev/udp:  User Datagram Protocol (UDP)
  3094.  
  3095.  19.  WE-driver .....  (character) ..  we[0-3]
  3096.         0-3.  /dev/we[0-3]:  "WE" driver
  3097.  
  3098.  20.  DP8390-driver .  (character) ..  wd[0-3] ec[0-3] ne[0-3]
  3099.         0-3.  /dev/wd[0-3]:  "DP8390" driver, WD8003
  3100.         8-11.  /dev/ec[0-3]:  "DP8390" driver, 3C503
  3101.         16-19.  /dev/ne[0-3]:  "DP8390" driver, NE2000
  3102.  
  3103.  21.  Sony-CD-ROM ...  (block) ......  sonycd
  3104.         0.  /dev/sonycd:  Sony CDU-535 CD-ROM, I think.
  3105.  
  3106.  22.  2nd AT-Cntrlr .  (block) ......  hd1[a-b]<[0-8]>
  3107.      Minor numbers are like those of the primary AT-Disk controller.
  3108.         THIS MAY WORK FOR HARD-CARDS.
  3109.      (Note the "1" in the device name for the secondary controller.
  3110.       This is because we may eventually wish to change the names of
  3111.       the primary-controller drives to "hd0[a-b]...".)
  3112.  
  3113.  23.  Mitsumi CD-ROM   (block) ......  mcd
  3114.      I don't know much about this one.
  3115.  
  3116.  31.  Link Interface   (character?) .  ???
  3117.         0.  ???
  3118.      Link Interface for use with Christoph Niemann's driver for the
  3119.      INMOS C012-based high-speed serial link interface card (useful
  3120.      for talking to transputers or video digitizers).
  3121.  
  3122.  
  3123.   VI.06)  (Chuck Boyer) Could some one clear up the devices meaning?
  3124.  
  3125. ANSWER: (Jim Winstead Jr)
  3126. >port
  3127.  
  3128. This allows programs to access the hardware ports directly.  Not
  3129. something you generally mess around with much.
  3130.  
  3131. >ptyp0-3
  3132. >ptypa...tty
  3133.  
  3134. These are the pseudo-tty 'master' devices.  Each pty connection uses
  3135. a slave-master set of tty devices.
  3136.  
  3137. >tty0...
  3138.  
  3139. tty[1-8] are the virtual consoles associated with Alt-F[1-8].  tty0 is
  3140. the current virtual console (so writing something to tty0 goes to the
  3141. current vc).
  3142.  
  3143. >tty64 I've figured out is the modem connection
  3144.  
  3145. Yes, that would correspond to COM1 under DOS.  However, the tty64 name
  3146. is obsolete - ttys[1-4] should be used instead.
  3147.  
  3148. >ttyp0...
  3149. >ttypa...
  3150.  
  3151. These are the pseudo-tty 'slave' devices.
  3152.  
  3153. >ttys1...
  3154.  
  3155. These are the serial devices.  ttys1 corresponds to COM1 under DOS,
  3156. ttys2 corresponds to COM2, etc.
  3157.  
  3158.  
  3159.  
  3160. VI.C Special Serial
  3161. ~~~~~~~~~~~~~~~~~~~
  3162. *** This section is maintained by Jim Gifford
  3163. *** (jgifford@attmail,world.std}.com), some addenda were sent by
  3164. *** Juha Ursin (jus@snakemail.hut.fi)
  3165. *** Last update May 1993.
  3166.  
  3167. Douglas E. Quale:
  3168. This has come up a couple of times already (including the case of
  3169. serial mice as well), but for the record stty acts on stdin not
  3170. stdout.  Old stty's (from V7 through BSD4.3) used stdout, but this is
  3171. suboptimal and doesn't conform to POSIX.  The GNU stty you are likely
  3172. using on Linux uses stdin, as does the stty distributed with BSD
  3173. Networking Release 2.  (Also, ``stty -a'' is more informative about
  3174. possible parameters, although it's pretty hard for me to remember what
  3175. 90% of that stuff does without refering to the man page.)
  3176. Jim Gifford:
  3177. However, there are a few older (of mysterious origin) stty's that work
  3178. on stdout(I have one myself!)
  3179.  
  3180.   VI.07)  Is there a list somewhere where I can get help with serial
  3181.    communications under Linux?
  3182.  
  3183. ANSWER: (Jim Gifford -- jgifford@world.std.com)
  3184.    There is a list for the discussion of serial communications under
  3185.    Linux.  It is for problems, drivers, new developments, etc... with
  3186.    the Linux serial devices. The list is: linux-serial@stolaf.edu
  3187.    To join, send mail to linux-serial-request@stolaf.edu
  3188.    I hope that this list will prove beneficial to the improvement of
  3189.    Linux. This list is maintained by Michael K. Johnson as
  3190.    linux-serial-request@stolaf.edu
  3191.  
  3192.   VI.08)  When I run kermit under Linux, I get "Warning, Read access
  3193.    to lock directory denied". What am I doing wrong?
  3194.  
  3195. ANSWER: Nothing, you just need to create /usr/spool/uucp (kermit 4.6?)
  3196.    or /usr/spool/locks (this is for the kermit5A), which is where kermit
  3197.    like to lock files.
  3198.  
  3199.   VI.09)  What are the major, minor numbers for the serial ports under linux?
  3200.  
  3201. ANSWER:   Major 4, Minor :
  3202.    64      /dev/ttys0      - com1
  3203.    65      /dev/ttys1      - com2
  3204.    66      /dev/ttys2      - com3
  3205.    67      /dev/ttys3      - com4
  3206.  
  3207.   VI.10)  can anyone give me a sample /etc/inittab entry for login
  3208.    from a pc attached to serial line /dev/ttys2?
  3209.  
  3210. ANSWER: "Humberto speaking :), updated by Rick Miller"
  3211.    First set up the modem to turn off echo and enable auto answer, I do
  3212.    this in kermit by connecting to the modem and typing "ate0s0=1"
  3213.    followed by enter (w/o quotes). Then setup inittab to spawn getty on
  3214.    the modem
  3215.    ttys2:vt100:/etc/getty -m 1200 ttys2
  3216.   (Replace "vt100" with the name of the /etc/termcap entry for the
  3217.    terminal type you will use, or use "dumb" if you don't have one.)
  3218.  
  3219.    Then it should work. Some modems can be permanently set to disable
  3220.    echo and set auto answer, see your manual.
  3221.  
  3222.    Jim Weigand says:
  3223.      disable all messages. This will prevent getty from hanging up
  3224.    your modem.
  3225.    Set       For:
  3226.    ATE0      No echo
  3227.    ATQ1      No messages
  3228.    ATS0=2    Answer 2nd ring
  3229.    ATS7=60   1 minute to answer (shorter if 2400 baud)
  3230.    You can use kermit to set these. Do an AT&W to save for power-up.
  3231.  
  3232.    Michael K. Johnson says:
  3233.    If you would rather not save these commands as defaults to come up
  3234.    on power-up, perhaps because you want to use your current modem
  3235.    settings under a DOS communications package, you can also shove
  3236.    these command out ttys? from /etc/rc (or /etc/rc.local) using
  3237.    the command:
  3238.       echo "<modem_settings>" > /dev/ttys?
  3239.  
  3240.   VI.11)  How do I set parameters like parity for serial login?
  3241.  
  3242. ANSWER: Use stty and redirect input from the serial line.
  3243. ex: stty parodd < /dev/ttys2 which gives ttys2 odd parity.  
  3244. type stty -a to get an idea of possible parameters. 
  3245. Or 'man stty' as well :)
  3246.  
  3247.   VI.12)  (Juha Ursin) I run SLS pl6, kernel is pl8 and I use
  3248. libc.4.3.2.
  3249. Trying to allow login on my terminal (on ttyS1 with only three wires
  3250. (RX, TX, GND) connected). Getty 9600 /dev/ttyS1 starts and I get the
  3251. login prompt, but the password prompt newer appears.
  3252.  
  3253.  
  3254. ANSWER: (Ted Ts'o)
  3255. Setting CLOCAL is the correct way to solve this --- it is not a bug in
  3256. the kernel.  Since you only have three wires connected, it means that
  3257. the carrier detect line was left floating, and probably floated to
  3258. ground.  Thus, the /dev/ttyS1 device blocked waiting for carrier detect
  3259. to go high.  The reason why the login prompt appeared is that getty
  3260. opened /dev/ttyS1 with the NODELAY flag; but when /dev/ttyS1 was
  3261. reopened for /bin/login, it did not have the NODELAY flag, and you ended
  3262. up blocking.
  3263.  
  3264. That's what the CLOCAL flag is for --- it indicates that the serial port
  3265. is hooked up to a local (hence CLOCAL) terminal, and so the carrier
  3266. detect line should be ignored.  In general, whenever the carrier detect
  3267. line is not supported by a serial device, or if your RS-232 cable does
  3268. not support the CD wire, the CLOCAL flag should be set.
  3269.  
  3270.  
  3271.   VI.13)  (Juha) Where are my Call-out-mode -serial ports (cuaX) ?,
  3272. When should I use these cuaX ports ?, Why on my system ttys3 is used
  3273. instead of ttyS3 ?
  3274.  
  3275. ANSWER: (Ted) Ask the person who created the install procedure (Peter
  3276. MacDonald, in the case of SLS).
  3277.  
  3278. >When should I use these cuaX ports? 
  3279.  
  3280. When you're dialing out (i.e., kermit, cu, seyon, uucp, etc.).
  3281.  
  3282. >On my configuration ttyS3 is named ttys3 incorrectly - why? 
  3283.  
  3284. Again, see the person who created the install procedure.  Recent
  3285. versions of SLS create the serial devices using the new convention
  3286. (ttyS3).  ttys3 represents an older convention, and some older install
  3287. procedures may not have switched over.
  3288.  
  3289.   VI.14)  (Juhan) What other possibly free IRQ's there are than IRQ5 ?,
  3290. Can I use IRQ7 when not printing ?,
  3291.  
  3292. ANSWER: (Ted)
  3293. IRQ 2 is also often free, although some networking cares use them.
  3294.  
  3295. > Can I use IRQ 7 when not printing? 
  3296.  
  3297. It's generally a bad idea to have two cards plugged in sharing an IRQ
  3298. address.  It happens to work with most serial cards, but it doesn't
  3299. alwas work.  You can use IRQ 7 if you don't have a parallel port plugged
  3300. into your system.  If you do have a parallel port plugged in, you can
  3301. try using IRQ 7; it might work, it might not.  Be sure to also make sure
  3302. that the printer works after you plug in your serial card configured to
  3303. use IRQ 7.  Another alternative: If you are using the version of the
  3304. parallel printer driver that doesn't use interrupts, you can go to your
  3305. parallel port board, and disable the IRQ, thus freeing IRQ 7.
  3306.  
  3307.      Is pin 1 nearest to the plate or is it 31?
  3308.  
  3309. If this is a sample PC ISA card, then A1 is the pin closest the "back" of
  3310. the card, and on the top, if the pins are held down and the "back" of
  3311. the card is to your right:
  3312.  
  3313.  ----------------------------------------------------------------------
  3314.  |                                                                    |
  3315.  |                                                                    |
  3316.  |                                                                    |
  3317.  |                                                                    |
  3318.  |                                                                    |
  3319.  |                                                                    |
  3320.  +---------------------------------+          +---+               +---+
  3321.                                    |          |   |               |
  3322.                                    +----------+   +---------------+
  3323.                                                    A             A
  3324.                                                    3             1
  3325.                                                    1
  3326.  
  3327. The "B1..B31" pins are on the reverse side of the card.
  3328.  
  3329.  
  3330.  
  3331.  
  3332. VII. MORE HINTS 
  3333. =============== 
  3334.  
  3335. This part try to keep track of the different information
  3336. that appeared in comp.os.linux and on the list since beginning of
  3337. March. I tried to update it for KERNEL_VERSION, so there might be some
  3338. mistakes. Moreover take care to use the correct library and include
  3339. stuff, and the ad-hoc gcc you use !!!
  3340.  
  3341.  
  3342.  VII.01)  How can I backup my Hd under Linux ?
  3343.  
  3344. ANSWER: I know at least two ways. One possibility is tar and mtools,
  3345. another possibility is the diskbackup/diskrestore of Diamano Bolla
  3346. (digest37 vol. #2) which saves big hd to floppies using the
  3347. stdin/stdout. These utilities have been uploaded to the major sites in
  3348. file disksplit.tar.Z.
  3349. An example usage (Roger Binns) is:
  3350.  
  3351. tar cvf - bin dev usr etc .. | compress | diskbackup
  3352.  
  3353. and to restore:
  3354.  
  3355. diskrestore | uncompress | tar xvf -
  3356.  
  3357. BTW: if you are on Ethernet you could send your files via tar..|rsh (tar...)
  3358. or even via NFS to a host which is regularly backed up !
  3359.  
  3360.  
  3361.  VII.02)  Where is 'which' ?
  3362.  
  3363. ANSWER: It depends on the sh you are running:
  3364. in bash  'type -path'
  3365. in tcsh  it's a builtin
  3366.  
  3367. for rc you can try the following (untested by me) script from
  3368. Kevin Brown: 
  3369.  
  3370. #!/bin/sh
  3371. for i in `echo $PATH | sed 's/:/ /g'` ; do
  3372.   for j in ""$@" ; do
  3373.  if test -x "$i/$j" ; then
  3374.     echo "$i/$j"
  3375.          fi
  3376.   done
  3377. done
  3378.  
  3379.  VII.03)  How to use setterm: for the novice?
  3380.  
  3381. ANSWER:The setterm utility provides access to most of Virtual Consoles
  3382. (VCs) functionality.  You can set your screen up to blank at 10
  3383. minutes using:
  3384.          setterm -blank 10
  3385.  
  3386. You can set colors, and clear the screen.  For a full list of commands,
  3387. just type "setterm" with no arguments.
  3388.         
  3389. There are a few tricks with the screen dumper can really make VCs go a 
  3390. long way.  Here are a few of the common ones that I use:
  3391.  
  3392.   setterm dump
  3393.  
  3394. Dumps the contents of the current VC to screen.dump (in the current dir).
  3395.      
  3396.   setterm dump 4
  3397.     
  3398. Dumps the contents of VC 4 to screen.dump
  3399.   
  3400.   setterm -file mydumpfile -dump 4
  3401.  
  3402. Dump the contents of VC 4 to the file mydumpfile
  3403.  
  3404.   setterm -file /dev/tty0 -dump 4
  3405.  
  3406. Dumps the contents of VC 4 to the current VC.
  3407.      
  3408.   setterm -file /dev/tty4 -dump
  3409.  
  3410. Dumps the contents of the current VC to VC 4.
  3411.   
  3412.   setterm -file /dev/ttys1 -dump
  3413.     
  3414. Dumps the contents of the current VC to the serial port.
  3415. Handy if you are logged on and want to paste a screen full without
  3416. having to resort to doing a file transfer.
  3417.  
  3418.   setterm -file mydumpfile -append 4
  3419.     
  3420. Appends to instead of overwriting the dump file.  Useful if you
  3421. have several screens you wish to concatenate.
  3422.  
  3423.  
  3424.  VII.04)  I've tried clear/reset which exist on most of unix but it
  3425. doesn't work, have I missed something? 
  3426.  
  3427. ANSWER: setterm -clear or setterm -reset will solve your missing.  For
  3428. clear, you can also write a small script (which use the cl: part of
  3429. /etc/termcap wrt your TERM), or use bash where ctrl-l will do it for
  3430. you.
  3431.  
  3432.  
  3433.  VII.05)  I know there are VC, but where is the setterm stuff?
  3434.  
  3435. ANSWER: It's in the current distribution (i.e. on the images), the
  3436. source can be found in virtcons.tar.Z at nic.
  3437.  
  3438.  
  3439.  VII.06)  I know there are shared libraries; does there exist an easy
  3440. way to check an executable for sharing ? 
  3441.  
  3442. ANSWER: (Claude Morin:) There exists at tsx-11 ldd.tar.Z If you follow
  3443. the instructions, you will be able to type "ldd <executable>" to List
  3444. the Dynamic Dependencies of the executables. In other words 'ldd'
  3445. prints the name of the shared libraries needed by the executable,
  3446. nothing appears for static one. 
  3447.  
  3448. ANSWER: (Josh Yelon & HJ Lu) - very old binaries.
  3449. (J.Y.) An executable which shares a library is linked with an
  3450. (ordinary, non-shared) "stub" version of the library. One of the first
  3451. thing this stub does (when the executable is run) is to ask the kernel
  3452. to load the (big) "shared version" of the library (which is usually
  3453. named /lib/lib.XX.XX) The upshot of this is that in the code for the
  3454. stub (part of the executable), is the string "/lib/lib.XX.XX"; which
  3455. can be searched by using 'strings' or 'grep'.
  3456. (HJ. L.) if you have gcc2.11a or later the shared image is changed to
  3457. /lib/libxxxx_vyy_zzz. And you should better use nm to find
  3458. "__shared_lib" (nm failed on stripped executable). You can also write 
  3459. a function for "file", which can even check the version number ....
  3460.  
  3461.  VII.07)  What is the rdev program provided in the images?
  3462.  
  3463. ANSWER: It's a program from Werner Almesberger of ETH. With no
  3464. argument it prints the first line of /etc/mtab. With one argument, a
  3465. boot-image, it prints the device configured as the root device, and
  3466. with two arguments, a boot image and a device, it sets the device as
  3467. default root in the specified image.
  3468.  
  3469.  
  3470.  VII.08)  How to start Linux from drive B?
  3471.  
  3472. ANSWER: There is a DOS utility called boot_b.exe (look at DOS ftp).
  3473. Another simple way is to open the box and invert the cables.
  3474.  
  3475.  
  3476.  VII.09)  The program boot_b works fine /but/ once the first disk is
  3477. read the system go back to the first drive, any hints?
  3478.  
  3479. ANSWER: Yes, change the bootimage in just the same way that you change
  3480. it to boot on the hard drive, execept that the major/minor pair is
  3481. different. All these information are in the file INSTALL-0.10.
  3482. Remember that if you use a sun or other endian machine, you will need
  3483. to reverse the byte order when you run the filter program (also in the
  3484. same file).
  3485.  
  3486.  
  3487.  VII.10)  How can I get Linux to boot directly from the harddisk?
  3488.  
  3489. ANSWER: (Rick) The best option right now is LILO version ALPHA.8. It
  3490. has been generally agreed that the days of using "shoelace" are at an
  3491. end. See Section III of this FAQ for LILO information.
  3492.  
  3493.  VII.11)  I use shoelace, but I want to change my root partition, what
  3494. is the process to get rid of it? 
  3495.  
  3496. ANSWER: With Norton utility you can put back a standard boot sector.
  3497. Another possibility is to restore the old boot sector (the one you
  3498. should have backup *before* installing shoelace).
  3499.  
  3500.  
  3501.  VII.12)  Sometimes, when I want to remove a directory, I get an error
  3502. message, is it a (known) bug?
  3503.  
  3504. ANSWER: No, There is no bug at all, you probaly have another shell 
  3505. on another VC whose working directory is either the one you try to 
  3506. remove, either a subdirectory of it.
  3507.  
  3508.  
  3509.  VII.13)  I'm looking for init, getty, login, passwd stuff, where 
  3510. can I find them? 
  3511.  
  3512. ANSWER: You should find it in shadow.tar.Z (only sources), at least 
  3513. at tsx in the usr.bin directory. Many people have reported some troubles 
  3514. with the *OLD* shadow-passwd (shadow-bin.tar.Z and shadow-src.tar.Z, so 
  3515. do not use them anymore); an alternative might be the mcc-interim
  3516. which contains standard passwd binary. There is also the Peter Orbaek's
  3517. admutil-1.?.tar.Z and poeigl-1.?.tar.Z which contains source for
  3518. shutdown, su, chsh, passwd and a system V init compatible. 
  3519.  
  3520.  
  3521.  VII.14)  How can I setup a user account other than root ?
  3522.  
  3523. ANSWER: You can either use the adduser program, either do it manually.
  3524. In the later case, you have to:
  3525. a) edit /etc/passwd as root and add a line of the following format:
  3526. user:passwd:uid:gid:user name:home directory:login shell
  3527.  
  3528. user is the login name; uid is the numeric user id, it should be
  3529. unique; gid is the numeric group id, this number should correspond to
  3530. an entry in /etc/group. The passwd field should be left blank 'cause
  3531. it is stored in an encrypted form [to set this field just use the
  3532. passwd program].
  3533. example
  3534. faq::200:5:Marc-Michel:/home/faq:/bin/sh
  3535. b) Still as root, you shoud now create the home directory and set the
  3536. correct ownership.
  3537. mkdir /home/faq
  3538. chown faq /home/faq
  3539. chgrp 5 /home/faq
  3540.  
  3541.  
  3542.  VII.15)  I've been trying to get Linux to run on my [3/4]86 box. It
  3543. can't even boot. Any suggestions?
  3544.  
  3545. ANSWER: The most common error/problem is writing the bootimage to a
  3546. low density disk. It fits, but the bootstrap code will only recognize
  3547. high density disk. So try to format explicitely disk as high density:
  3548. - for 3.5",  'format a: /n:18 /t:80 '
  3549. - for 5.25", 'format a: /n:15 /t:80 '
  3550.  
  3551.  
  3552.  VII.16)  Does there exist games, languages (other than C), and
  3553. anything which make the system more friendly?
  3554.  
  3555. ANSWER: Yes, among other things there are rogue and yahtzee; TeX;
  3556. Prolog, Perl.. but in general, if you want some extra tool port it to
  3557. Linux this is also a good beta-testing exercice. 
  3558.  
  3559.  
  3560.  VII.17)  Whenever I use uemacs 3.1X on a symlink, the symlink does
  3561. not exist anymore, why?
  3562.  
  3563. ANSWER: (Tristram Mabbs) Since ue3.10, uemacs uses 'safe save' mode,
  3564. writing the file to a temporary and moving it OVER the original. In
  3565. the process, this deletes the original. To prevent this just add the
  3566. following in your emacs '.rc' file: set $ssave FALSE
  3567.  
  3568.  
  3569.  VII.18)  I have an SVGA, but Linux detect an EGAc/EGAm; is it normal?
  3570.  
  3571. ANSWER: (Jim Winstead) This is correct actually. You have an EGA+ card
  3572. (SVGA) with a Color/Mono monitor. The only four possibilties are EGAc,
  3573. EGAm, *MDA and *CGA (according to the code in
  3574. kernel/chr_drv/console.c).
  3575. The true test, if Linux detects your video card, is if you press
  3576. <RETURN> at the "Press <RETURN> to see SVGA- ..." boot-time message.
  3577. If you have a SVGA  recognized card, it will ask you to choose a
  3578. screen size. If not detected, the default is 80x50 mode. 
  3579. BTW if you have no SVGA, press the <space> and you are in 80x25 mode.
  3580.  
  3581. If you have dowloaded the kernel, you can automatically skip this
  3582. query at boot-time if you set the SVGA_MODE variable in the main
  3583. Makefile before compiling a new bootimage. 
  3584.  
  3585.  
  3586.  VII.19)  How can I change the keyboard repeat rate?
  3587.  
  3588. ANSWER: (Michael K Johnson) In boot/setup.S there are the lines:
  3589. ! set the keyboard repeat rate to max
  3590.  mov ax,#0x0305
  3591.  mov bx,0x0000
  3592.  int 0x16
  3593.  
  3594. If you don't want to change the repeat rate at all, just comment out
  3595. these lines. If you want something in the middle, change the
  3596.  mov bx,0x000
  3597. by mov bx,0x??yy
  3598. where ??yy is determined by (Ralf Brown's interrupt list)
  3599. bh= delay value (0x00 = 250ms to 0x03= 1000ms (one sec))
  3600.  this is the delay before the repeat is performed
  3601. bl= repeat rate (0x00 =30/sec to 0x1f=2/sec; 0x0c=10/sec [default])
  3602.  
  3603.  
  3604.  VII.20)  I compiled fdformat.c and ran it on 1.44Mb and 1.2Mb, the
  3605. results are unreadable, any clue? 
  3606.  
  3607. ANSWER: (M. Pereckas) fdformat only low-level formats the disk. to use
  3608. the fdformatted disk with DOS filesystem, run mformat on the disk.
  3609. Mformat writes DOS filesystem information but is unable to low-format
  3610. :). In order to put a Linux filesystem on a (low)formatted disk you
  3611. have to mkfs it. 
  3612.  
  3613.  VII.21)  Is it possible to disable the 3-fingers salute
  3614. (ctrl-alt-del) ?
  3615.  
  3616. ANSWER: Yes, in kernel/sys.c you can read the following:
  3617.  
  3618. /*
  3619.  * this indicates wether you can reboot with ctrl-alt-del: the deault is yes
  3620.  */
  3621. static int C_A_D = 1;
  3622.  
  3623. there is also a small utility written by Linus in digest242 vol#2
  3624.  
  3625.  
  3626.  VII.22)  Could some one explain the information provided at boot-time?
  3627.  
  3628. ANSWER: (Jim Winstead Jr)
  3629. > serial port at 0x03f8 is a 16450 
  3630. > serial port at 0x02f8 is a 16450 (what's that the uart chip?)
  3631.  
  3632. Right, the last number should either be 8250, 16450, 16550, or 16550a,
  3633. and on the two 16550 models, it will report that FIFO's have been
  3634. disable (16550) or enabled (16550a).
  3635.  
  3636. > 8 virtual consoles (that's how many alt-F's I can get going?                 
  3637. >      but only F1-4 actually work)
  3638.  
  3639. You can get sessions running on Alt-F[1-8], but the 'standard'
  3640. /etc/inittab only runs getty/login on Alt-F[1-4].  You can start
  3641. sessions on the other consoles by using 'doshell' or adding lines to
  3642. /etc/inittab.
  3643.  
  3644. > 4 pty's (are these the consoles F1-4?)
  3645.  
  3646. No, those are 'pseudo' ttys, which programs like MGR use to simulate
  3647. tty connections.  That's probably a gross over-simplification, but it
  3648. gives you the general idea, I think.  :)
  3649.  
  3650. > p_init: lp1 exists (0) (is that the (l)ine (p)rinter?)
  3651.  
  3652. Right.
  3653.  
  3654.  
  3655.  VII.23)  What is the meaning of files ended by .T.Z (or .taz) ?
  3656.  
  3657. ANSWER: The suffix Z is for compressed files (to uncompress them use
  3658. the command `uncompress file.Z`).
  3659. The suffix T indicates a "tar file" the usual suffix is tar but, the
  3660. 14 chars filename limit of the Minix filesystem makes it cumbersome to
  3661. use .tar.Z (to untar a file ended by .T, use the command 
  3662. `tar options file.T` (see the man page for more details).
  3663.  
  3664. For the .taz file, change them as .T.Z and go-ahead.
  3665.  
  3666.  VII.24)  What is the meaning of files ended by .T.z (or .tpz) ?
  3667.  
  3668. ANSWER: The suffix z is for files compressed with the
  3669. gzip utility, which is being used more frequently because it provides
  3670. better compression.  These can be uncompressed with the `gzip -d
  3671. file.z` command.
  3672.  
  3673.  
  3674.  VII.25)  I have upgraded the kernel from XX to YY (XX > YY), however the
  3675. login screen still says YY.
  3676.  
  3677. ANSWER: Just change the message in one of these files: /etc/issue and
  3678. /etc/motd. The former contains the message before the login, the later
  3679. is the one after you are logged in.
  3680.  
  3681.  VII.26)  What is doshell good for ?
  3682.  
  3683. ANSWER: It's an old program provided in the early Linux version (0.12)
  3684. when the getty was not already there, it spawns a shell on any tty's.
  3685. (Mattew Gream): I do this quite often ( getty on tty1, 2, 3 and my
  3686. rc.local spawns a shell on tty4 as follows
  3687.   '/usr/bin/doshell /dev/tty4 /bin/tcsh &'
  3688.  
  3689.  
  3690.  VII.27)  I don't have the kernel sources, how can I change the keyboard
  3691. language?
  3692.  
  3693. ANSWER: You can use the fixkbd program written by Laurent JULLIARD
  3694. (Laurent_JULLIARD@grenoble.hp.com). Its purpose is to fix the keyboard
  3695. map used in your kernel image. It works more or less a la "rootdev"
  3696. (or rdev). It can be found on tsx-11.mit.edu in
  3697. /pub/linux/binaries/sbin/fixkbd.tar.Z.  
  3698.  
  3699.  
  3700.  VII.28)  Does there exist a possibility to track down the source of
  3701. kernel pannic messages ?
  3702.  
  3703. ANSWER:  Here's info from Linus on how to track down the source
  3704. of kernel panic messages. The values for EIP, address, and so on are
  3705. JUST EXAMPLES: the EIP, EFLAGS, etc. can be anything.
  3706.  
  3707. The lines after ">" were written by me; the responses by Linus.
  3708.  
  3709. > Unable to handle kernel paging request at address C000000A
  3710.  
  3711. This means something in the kernel tried to access kernel memory at
  3712. address 0x00A (the C0000000 offset is due to the kernel starting at
  3713. virtual address 0xC0000000).  The first page of kernel address space is
  3714. unmapped to find these kinds of incorrect references (it's probably a
  3715. NULL dereference to a structure member at offset 0xA). 
  3716.  
  3717. > Oops: 0002
  3718.  
  3719. Error code. This tells you if it's a read or write (forget which ritgh
  3720. now, and don't have any books handy)
  3721.  
  3722. > EIP: 0008:000290D2
  3723.  
  3724. This is where it happened: segment 0008 (kernel code segment) and offset
  3725. 0x290D2 into the kernel. So to find this, you generally do something
  3726. like
  3727.  
  3728.  nm /usr/src/linux/tools/system | sort | less
  3729.  
  3730. and search for the function that contains the address 0x290D2.
  3731.  
  3732. > EFLAGS: 00010087
  3733. > fs: 0017
  3734.  
  3735. Eflags and fs when the exception happened. You usually don't need this.
  3736.  
  3737. > base: C0000000, limit: 000A0000
  3738. > Pid: 0, process nr: 0
  3739.  
  3740. In what process the exception happened. This is the swapper, which also
  3741. means the thing is fatal (other processes you can just kill). That it's
  3742. in the swapper process probably means that it's an interrupt that did
  3743. it, as the swapper doesn't really do anything.
  3744.  
  3745. > 89 50 04 c7 03 00 00 00 00 c7
  3746.  
  3747. This is the instruction that resulted in the error.  I usually
  3748. disassemble them by hand and see what it is, then I try to find out
  3749. exactly where in the function this assembly sequence comes up (probably
  3750. by compiling the .c file to a .s file and looking around). 
  3751. Alternatively you can just run 'gdb' on /usr/src/linux/tools/system, but
  3752. gdb has some problems. 
  3753.  
  3754. > task[0] (swapper) killed: unable to recover
  3755. > kernel panic: Trying to free up swapper memory space
  3756. > In swapper task - not syncing
  3757.  
  3758. This is just to tell you not to expect anything from the kernel any
  3759. more: linux cannot go on without the swapper task.
  3760.  
  3761. > How can I decode the numbers in the message? 
  3762. > Also, note that sometimes the "Unable to handle..."
  3763. > message is followed by the "Oops: 0002" block, but
  3764. > the last message is sometimes something else (i.e. not
  3765. > always a "task[0] (swapper)...." message, but something
  3766. > from the TCP driver in this case. 
  3767.  
  3768. It depends on where it happened. If it's an interrupt, it can
  3769. essentially happen in any task (all interrupts are handled in the task
  3770. that happens to be currently active), while "normal" code happens in the
  3771. task that calls it.
  3772.  
  3773.  
  3774.  
  3775. VIII. EMACS for LINUX
  3776. =====================
  3777. *** This section is maintained by Rick Sladkey (jrs@world.std.com)
  3778. *** Last Update March 1993.
  3779.  
  3780.  
  3781. VIII.A. GENERAL INFORMATION 
  3782. VIII.B. GNU EMACS for LINUX
  3783.  
  3784.  
  3785. VIII.A. GENERAL INFORMATION
  3786. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3787.  
  3788. This is a short list of Frequently Asked Questions about GNU Emacs
  3789. under Linux.  It does not address general questions about Emacs which
  3790. are not Linux specific.  For general help about Emacs, 1) learn to use
  3791. and read the online documentation, 2) read the real Emacs FAQ found in
  3792. emacs/etc/FAQ, and 3) read the newsgroup gnu.emacs.help.
  3793.  
  3794.                                         Rick Sladkey <jrs@world.std.com>
  3795.  
  3796.  
  3797. VIII.B. GNU EMACS for LINUX
  3798. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3799. VIII.01)  What version of the compiler was used?  Which shared libaries?
  3800.  
  3801. ANSWER: This describes version of GNU Emacs 18.59 for Linux 0.99.5 and above
  3802. compiled with GCC 2.2.3 using the libc.so.4.3 and libX11.so.3.0 shared
  3803. libraries.
  3804.  
  3805. VIII.02)  Which files do I need?
  3806.  
  3807. ANSWER:
  3808. emacs-18.59b.tar.Z  this file, sample default.el and diffs
  3809.     for this version, the eight-bit patch,
  3810.     iso-latin-1.el and eight-bit.el
  3811. emacs-etc-18.59b.tar.Z  emacs support programs and misc info
  3812. emacs-bin-18.59b.tar.Z  shared emacs binary and its doc file
  3813. x11emacs-bin-18.59b.tar.Z shared x11emacs binary and its doc file
  3814.  
  3815. VIII.03)  How do I install them?
  3816.  
  3817. ANSWER: For the latter three files, just cd to /usr and untar them.
  3818.  
  3819. VIII.04)  What if I want to compile Emacs myself?
  3820.  
  3821. ANSWER: It is fairly easy (and highly recommended) to compile Emacs
  3822. yourself if you have the the disk space.  In this case you only need
  3823. the standard Emacs distribution (emacs-18.59.tar.Z from any GNU archive)
  3824. and the Linux diffs and support files (emacs-18.59b.tar.Z from a Linux
  3825. archive).  The diffs are quite small and mostly amount to a
  3826. configuration file.
  3827.  
  3828. VIII.05)  What about Epoch or Lucid Emacs?  Are these available for Linux?
  3829.  
  3830. ANSWER: Yes.  Thomas Dunbar has been maintaining Epoch for Linux and
  3831. Chipsy Sperber has compiled Lucid Emacs.  Both of these work well
  3832. under Linux.  Look in a Linux archive index for where to find them.
  3833.  
  3834. VIII.06)  Does Linux Emacs support eight-bit input/output?
  3835.  
  3836. ANSWER: Yes.  It is new with this version.  It uses the so-called
  3837. "ctl-arrow" patch.  See the file README.8bit for more information.
  3838.  
  3839. VIII.07)  How much disk space is required?
  3840.  
  3841. ANSWER: Anywhere from 1 to 15 Meg.  Emacs works reasonably well with no
  3842. support files at all.  With a judicious selection from lisp/*.elc and
  3843. etc/*, quite a lot can be done using only 2 Meg.  If you want all of
  3844. lisp/*.elc, info/*, and etc/* this will require 4 to 6 Meg.  If you
  3845. unpack the whole source you need 8 Meg.  If you collect info files
  3846. like rare coins and install a lot of big lisp packages then Emacs may
  3847. need its own partition. :-)
  3848.  
  3849. VIII.08)  Why can't Emacs find its support files anymore?
  3850.  
  3851. ANSWER: This is because older versions of Emacs were compiled with
  3852. "/usr/local/emacs" based paths.  The current version is compiled with
  3853. "/usr/emacs" paths.  If you have a previous installation, just "mv
  3854. /usr/local/emacs /usr" and you're done.  If you can't bear to part
  3855. with the "/usr/local" pathnames because of inertia then do "ln -s
  3856. /usr/local/emacs /usr" and you can have them both.
  3857.  
  3858. VIII.09)  How do I get Emacs to recognize my cursor keys?
  3859.  
  3860. ANSWER: Simple.  Don't use them. :-)  Seriously, there are as many
  3861. ways to do this are there are elisp hackers but the preferred way is
  3862. to follow the pattern set by the other terminal definition files in
  3863. emacs/lisp/term/*.el.  For just arrow keys you can just copy vt220.el
  3864. to console.el and that's it.  For function keys and the others see
  3865. the sample default.el included with emacs-18.59b.tar.Z.
  3866.  
  3867. VIII.10)  What packages are particularly useful under Linux?
  3868.  
  3869. ANSWER: Because info format is the documentation standard of the GNU
  3870. project and just about everything except the kernel comes from FSF,
  3871. you will find that Dave Gillespie's enhanced info package is very
  3872. useful.  It allows multiple info directories, space bar paging, and
  3873. supports compressed info files. Please learn to use info.  Imagine
  3874. Unix life without man.
  3875.  
  3876. Others that I highly recommend are Sebastian Kremer's enhanced
  3877. dired directory editor, Dave Gillespie's calc calculator, Masanobu
  3878. UMEDA's gnus for usenet news, and Kyle Jone's vm for mail.
  3879.  
  3880. All can be found in the OSU Emacs archive, ftp.cis.ohio-state.edu,
  3881. /pub/gnu/emacs/elisp-archive.  See the real FAQ for more details.
  3882.  
  3883. VIII.11)  Does Linux Emacs use the shared libraries?
  3884.  
  3885. ANSWER: Yes.  It works fine with the DLL libraries and should not
  3886. require a new binary when the C or X libraries are updated.
  3887.  
  3888. VIII.12)  Does Linux Emacs support the X Window System?
  3889.  
  3890. ANSWER: Yes.  However, there are two binaries.  One without X support
  3891. (about 485k) and one with X support (about 515k).
  3892.  
  3893. VIII.13)  Do I need both Emacs if I don't always use X?
  3894.  
  3895. ANSWER: No. The X11 version works equally well inside or outside of X.
  3896. If you get the message "Check your DISPLAY variable" it means that
  3897. you have defined DISPLAY in your ~/.profile (or whatever).  You can
  3898. fix this by starting Emacs with 'emacs -nw' or by removing the DISPLAY
  3899. variable from your ~/.profile and putting it in you ~/.xinitrc.
  3900.  
  3901. VIII.14)  Why doesn't Emacs use the settings in my
  3902. .Xdefaults/.Xresources file? 
  3903.  
  3904. ANSWER: You are probably using the word "emacs" and your X version of
  3905. emacs is called x11emacs.  Either use the word "Emacs" in your resource
  3906. file or rename x11emacs to emacs.  See above question on why this
  3907. is reasonable.
  3908.  
  3909. VIII.15)  I read about some menu that is supposed to pop up when I
  3910. press some mouse button.  Does this work with Linux Emacs?
  3911.  
  3912. ANSWER: Yes.  This requires XMenu support to be compiled in.  Former
  3913. versions did not support it because it did not work correctly.
  3914.  
  3915. VIII.16)  Sometimes Emacs crashes with a SIGALRM message.  What's
  3916. wrong? 
  3917.  
  3918. ANSWER: The old answer about upgrading to a newer version of bash
  3919. was incorrect.  The problem was in the implementation of sleep(3)
  3920. in the old C library.  It is fixed as of libc-4.3.
  3921.  
  3922.  
  3923.  
  3924.     ===================8<==========>8================
  3925.  
  3926. -- 
  3927. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3928. # LaBRI     |         #
  3929. #  351 cours de la Liberation    |  e-mail:  corsini@geocub.greco-prog.fr   #
  3930. #  33405 Talence Cedex   |  e-mail:  corsini@labri.u-bordeaux.fr    #
  3931. #       |         #
  3932. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3933. -- 
  3934.   There will be a sig when our local net is reliable.
  3935.         For now, I would rather stay anonymous.
  3936. Archive-name: linux-faq/part4
  3937. Last-Modified: 93/06/07
  3938. Version: 1.18
  3939.  
  3940. *********************************************************
  3941. *       *
  3942. *   Answers to Frequently asked questions about Linux   *
  3943. *       *
  3944. *********************************************************
  3945.  
  3946. This post contains Part 4 of the Linux FAQ (5 parts).
  3947. It must be read *after* the 3 first parts. 
  3948.  
  3949. ===================================8<====>8============================
  3950. CONTENTS (of this part)
  3951.  
  3952.  IX.  FEATURES    (part4)
  3953.  X.  GCC MISC INFORMATION  (part4)
  3954.  XI. SCSI SPECIAL   (part4)
  3955.  
  3956. ===================================8<====>8============================
  3957.  
  3958.  
  3959. IX. FEATURES 
  3960. ============
  3961.  
  3962.   IX.01)  I've read that linux has virtual consoles, what must I do to
  3963. get them?
  3964.  
  3965. ANSWER: Yes there are, you can access them with the left <alt>-key
  3966. together with <Fn>-key. With the Linux Images distribution, 4 consoles
  3967. are available, getty runs on them.  
  3968. Notice that they are NOT accessible when running X (contrary to some
  3969. commercial unices).
  3970.  
  3971.   IX.02)  When Linux boots, I get the following message "8 virtual
  3972. consoles"; how can I acess to the 5-8 vc's ?
  3973.  
  3974. ANSWER: If you want the getty to run on the 5-8, you should add the
  3975. corresponding entries in /etc/inittab. You can also just run sh on
  3976. them by using the doshell soft.
  3977. And then in either case, the ALT-F[5-8] will access the corresponding
  3978. vc.  
  3979.  
  3980.   IX.03)  What kind of shell is /bin/sh ?
  3981.  
  3982. ANSWER: It's the Bourne Again Shell, bash-1.12.3 and 
  3983. compilation was straightforward, just "make" 
  3984. that's all or nearly. 
  3985. BTW There does exist different shells for Linux, these are:
  3986. bash, rc, zsh, tcsh and pdksh (a korn shell).
  3987.  
  3988.  
  3989.   IX.04)  Does there exist a man page for **** ?
  3990.  
  3991. ANSWER: Download man.tar.Z from your favorite linux ftp site, there is
  3992. most of the fileutils man page -- either **** or g****, example there
  3993. is nothing on ld, but there is for gld :) --, check the whatis
  3994. database provided. The files in the cat1 dir are pre-formatted man
  3995. pages that the man program can use. Quite recently the man pages for
  3996. section 2 have been written (thanks Drew) and can be found, at least
  3997. at tsx-11 in /pub/linux/docs/man/man2.tar.Z 
  3998.  
  3999. Also manpages are in the SLS on the b? disks.
  4000.  
  4001. BTW there is nroff and groff for Linux. Cawf 2.0 works just
  4002. fine for simple man pages, and a partial ms support too. 
  4003.  
  4004.  
  4005. Moreover Michael Johnson is the coordinator for man pages under Linux,
  4006. he is looking for volunteers, so contact the DOC Channel.
  4007.  
  4008.   IX.05)  Is there a simple man package (groff is too big):
  4009.  
  4010. ANSWER: "Cawf -man" also "fm -m" (Al Clark) tsx-11 in
  4011.   /pub/linux/binaries/usr.bin/fm.tar.Z 
  4012.  
  4013.  
  4014.   IX.06)  What are the editors available in linux?
  4015.  
  4016. ANSWER: Right now there are uemacs-3.11, elvis-1.4 (1.5). 
  4017. Gnu Emacs is there, read the section devoted to it in the 5th part of
  4018. this FAQ. Also the port of mg (micro gnu) has been done and can be
  4019. found at least at athos.rutgers.edu (128.6.4.4) 
  4020. in pub/linux, mg is the binary and mg.tar.Z is the sources file. You
  4021. can also find a PD ed, and elvis has an ex mode. Also available is
  4022. Lucid Emacs (available on sunsite.unc.edu in
  4023. pub/Linux/apps/editors/lemacs), including binary and info and lisp
  4024. trees (it takes about 18MB of disk space). Finnally there are
  4025. joe, vile-3.11, elle (Elle Looks Like Emacs), Xedit and aXe.
  4026.  
  4027.   IX.07)  Does there exist a printer package for Linux?
  4028.  
  4029. ANSWER: (R. Miller) Yes.  The "plp" package is currently available
  4030. under the directory [/pub/linux]/BETA/plp on tsx-11 and its mirrors.
  4031. You may also print things manually like so:  cat filename > /dev/lp1 
  4032. (Note that though "/dev/lp0" exists, most people find that their
  4033. printer is on /dev/lp1.  Use whatever the kernel says that it detects
  4034. in the boot-up messages.) 
  4035.  
  4036.   IX.08)  Are uucp, mail, and/or USENET news available for Linux?
  4037.  
  4038. ANSWER: (Vince Skakan)
  4039.    Yes !!!  At this time, the following (at least) have been
  4040.         ported to Linux:
  4041.  
  4042.         Package name            version
  4043.         ------------            --------
  4044.         taylor uucp             1.03
  4045.         elm                     2.3-pl11
  4046.         smail                   3.1.28
  4047.  
  4048.         C-news                  12/22/91
  4049.         tin                     1.1pl4
  4050.         trn                     2.2
  4051.         nn                      6.4.18
  4052.  
  4053. [...coming soon - Expect an announcement in the near future concerning
  4054. the packages above being made available in binary form in the SLS
  4055. distribution and in source form from sunsite.unc.edu and other Linux
  4056. archive sites...]
  4057.  
  4058. If you are interested in the last uucp features, join the UUCP channel
  4059. (see  part1 of this FAQ for more details about the multi channels list).
  4060.  
  4061.   IX.09)  How do I make swapping work?
  4062.  
  4063. ANSWER: Quite simply, you need the swapon and the mkswap binaries.
  4064. Then you can choose between a swap partition or a swap file.
  4065. The mkswap is used to write the "swap signature", whilst the swapon
  4066. binary is to activate the swapping. 
  4067.  
  4068. First of all you need a partition :), I assume it's the second of your
  4069. first disk namely /dev/hda2, and it's 10MB big
  4070. A) swap partition:
  4071. you have to indicate it's a swap area, this is done via mkswap
  4072. (instead of mkfs) which needs the name of the partition and the size
  4073. in blocks (a block is 1Ko big); the optional -c flag is for bad block
  4074. checking. So for our example you should perform:
  4075. mkswap [-c] /dev/hda2 10000
  4076. Then you need to indicate that you want linux to use the swap area,
  4077. this is done via swapon. In general it is set in the /etc/rc file,
  4078. just put the following entry:
  4079. /bin/swapon /dev/hda2
  4080. It can also be achieved via the /etc/fstab file
  4081. B) swap file:
  4082. The process is quite close; you need a partition, and a swap file.
  4083. Assume that I prefer a swap area of 4MB (I want to keep some place in
  4084. /dev/hda2). I need first to "dd" the file.
  4085. dd if=/dev/hda2 of=/swap_file bs=1024 count=4096
  4086. bs stands for block size, and count is the number of blocks
  4087. then I have to put the "swap signature" on that file:
  4088. mkswap /swap_file 4096
  4089. At this point, you should 'sync', just to be sure the signature is
  4090. effective. And finally add an entry in the rc file:
  4091. /bin/swapon /swap_file
  4092.  
  4093.  
  4094.   IX.10)  When I boot I get one of the following messages:
  4095. "Unable to find swap signature" or "Bad swap-space bitmap"
  4096.  
  4097. ANSWER: You probably forgot to make your swap-device, use the mkswap
  4098. command. 
  4099.  
  4100.  
  4101.   IX.11)  How do I know if it is swapping?
  4102.  
  4103. ANSWER: You will notice it :)) First of all, Linux tells you at boot
  4104. time, "Adding swap: XXX pages of swap space", and if you start running
  4105. out of memory, you will notice that the disk will work overtime, and
  4106. things slow down. Generally a 2Meg RAM will make the system swap
  4107. constantly while running gcc, 4 Meg will swap occasionnaly when
  4108. optimizing big files (and having other things active, such as make).
  4109. Also, the command 'free' (from the ps package) reports total enabled
  4110. swap space and current swap use.
  4111.  
  4112.  
  4113.   IX.12)  How is it possible to remove a swap file?
  4114.  
  4115. ANSWER: Simply perform a rm on that file, and remove the swapon of
  4116. your /etc/rc file.
  4117.  
  4118.  
  4119.   IX.13)  How is it possible to remove a swap device?
  4120.  
  4121. ANSWER: mkfs the device, and remove the swapon of your /etc/rc file.
  4122.  
  4123.   IX.14)  How much swap space do I need ?
  4124.  
  4125. ANSWER: Linux does not perform real swapping, it's rather paging (see
  4126. below for a more complete explanation). The swap area is *added* to
  4127. the memory and can be viewed as virtual memory, so choose the size you
  4128. need, example:
  4129.  
  4130.   8MB RAM + 6MB swap => 14MB virtual memory
  4131.  
  4132.   IX.15)  Could someone explain the swap process on Linux?, is it
  4133. swapping or paging ?
  4134.  
  4135. ANSWER: (Linus) Linux uses swap as /additional/ memory, one page of
  4136. the swap-space is used for the good-page bitmap and the swapspace
  4137. signature. 
  4138. In fact Linux does only paging, no swaping in the meaning "write out
  4139. one whole process to disk".
  4140. The reason it's called swapping is that Linux used paging for memory
  4141. management on a low level since the very beginning, but didn't page to
  4142. disk at all until 0.12. 
  4143.  
  4144.   IX.16)  Is demand paging different from paging and How ?
  4145.  
  4146. ANSWER: (Linus) Demand-paging is really "demand loading of
  4147. executables" and is totally independent of the page-swapping
  4148. algorithms, although they have similarities. When Linux strts up a
  4149. process, no actual code space is loaded: I let the page exceptions
  4150. load in the executable as needed. Thus Linux demand-loads the code and
  4151. initialized data it needs.
  4152. Demand-loading has very good points: (a) it simplifies the exec system
  4153. call; (b) it means page sharing between that have excuted the same
  4154. file is easy to implement; (c) it cuts down on the amount of memory
  4155. required. When Linux runs out of real memory, it starts to lock for
  4156. pages it can swap out, but if it notices that the page is clean, it
  4157. just forgets about it, and demand-loads it when it's needed again.
  4158. Thta means that swap-file isn't needed as much, especially when
  4159. running big binaries such as gcc, where the code-pages can be
  4160. demand-loaded as you wish.
  4161.  
  4162. Point (c) means that even without any swap space, you can usually run
  4163. slightly larger programs that your memory setup would actually permit.
  4164. I've noticed this while running X and doing a kernel compilation +
  4165. something else wshen I've forgotten to turn on swapping: free reports
  4166. 0 page available but things still work, although performance is
  4167. slightly down... 
  4168.  
  4169.   IX.17)  Is there any way to tell how much swap space you are using
  4170. or have left? 
  4171.  
  4172. ANSWER: The free program provided with the ps package handles this.
  4173.  
  4174.  
  4175.   IX.18)  I have a 2Megs box, but "free" reports only 1Meg why?
  4176.  
  4177. ANSWER: (Linus:) "free" doesn't concern with the memory the kernel has
  4178. allocated for itself. In other words what you see is the *user* memory
  4179. available. The kernel has taken the low 1Meg for it's use (~250Ko for
  4180. it and the rest for buffer cache and kernel data structures); for big
  4181. memory machine it could be even 2Megs.
  4182.  
  4183.   IX.19)  What tape drives work with Linux ?
  4184.  
  4185. ANSWER: (24 sept. P. Riipinen)
  4186. - There is a working QIC-02 device driver for Linux, supporting (at
  4187.   least) Everex/Wangtek cards.
  4188. - There are additional patches for the QIC-02 to support Archive
  4189.   SC402/499R. You can find them in /pub/linux/alpha/qic-02 at tsx-11
  4190.   There are some bugs in the driver but you can backup.
  4191. - Newer drivers are all SCSI, so check the SCSI section in this FAQ.
  4192.  
  4193.   IX.20)  Is there only the %$#@ keyboard ?
  4194.  
  4195. ANSWER: There are Dannish, Finnish, French, German, Uk, US and DVORAK 
  4196. keyboards. Set it in the main Makefile of the kernel sources, then  
  4197. (re)compile the kernel again. Make sure the files in kernel/chr_drv
  4198. directory are recompiled.   
  4199.  
  4200.  
  4201.   IX.21)  (special FINNISH/US) I booteed up with the new image and
  4202. everything work except that some keyboard keys produce wrong
  4203. characters. Does anyone know what is happening?
  4204.  
  4205. ANSWER: Since 0.95a images are US product (and so are US-keyboard
  4206. oriented), BUT linux sources are FINNISH product, and so the default
  4207. keyboard is set to be FINNISH. The solution is in the previous Q/A.
  4208.  
  4209.  
  4210.   IX.22)  Does there exist shared libs ?
  4211.  
  4212. ANSWER: (H.J. Lu, hlu@eecs.wsu.edu, 09/01/92)
  4213.  
  4214. The shared library under Linux started at 0.12. Peter MacDonald
  4215. collaborating with Linus made the first generation of shared library,
  4216. which is the base of the classic shared library which is no longer widely
  4217. used.
  4218.  
  4219. The kernel support of shared library under Linux is system call
  4220.  
  4221. extern int uselib (const char *__filename);
  4222.  
  4223. which loads an executable image with fixed entry point into memory,
  4224. just like the ordinary executables.
  4225.  
  4226. In crt0.s, a function which can find out if and which shared images
  4227. are needed and loads them is invoked before `main ()' is called if
  4228. necessary. David Engel and I developed a way to tell the loader which
  4229. shared images have to be loaded, utilizing the similar technique used
  4230. in global constructor in g++ 2.x with the help from GNU binary
  4231. utilities.
  4232.  
  4233. In the classic Linux shared library, we build a big executable image 
  4234. for several libraries and make sure no external variables outside of
  4235. the participating libraries are referenced. Then we can get the
  4236. absolute addresses of all the global variables defined in the
  4237. libraries used to build that executable image. After that, we make a
  4238. stub library for each participating library which just has the
  4239. absolute addresses of all the global variable in it.
  4240.  
  4241. For each shared image, there must be one and only one .o file, which
  4242. defines a global variable containing version, name and entry point of
  4243. the shared image, and a dummy global data. Among those libraries used
  4244. to build the shared image, there must be one library which will always
  4245. be referenced whenever any other library is referenced. We put this .o
  4246. file into the stub library for that library and add a special symbol
  4247. to each of the components of the stub library in order to make sure
  4248. that this .o file is always linked in if any of the participating
  4249. libraries are linked.
  4250.  
  4251. In gcc 2.2.2d, jump table, developed by David Engel, was introduced in 
  4252. the shared library. At the beginning of each shared image, there is
  4253. a table in which every library function has a fixed entry address and
  4254. the instruction at that address is a jump which will lead to the
  4255. real library function. So we can change the library function without
  4256. changing the corresponding entry address of the jump table. For the
  4257. global data we put them at the beginning of data section of the shared
  4258. image. We have to separate them from text code and link them in fixed
  4259. order. It is very hard to maintain the same addresses for the global
  4260. data when library is changed. After the global data are set up properly
  4261. and some spaces are left for possible future changes (that is a very
  4262. tough procedure.), it isn't too difficult to maintain.
  4263.  
  4264. Starting with libc.4.3, a form of dynamic linking developed by Eric
  4265. Youngdale was introduced into the shared libraries.  As part of this,
  4266. the tools that were used to generate the sharable libraries were
  4267. completely redone which made the job of building the libraries much
  4268. easier, and thus the libX*.so.3.0 libraries were made as DLL jumptable
  4269. libraries.
  4270.  
  4271.   IX.23)  Why do I need dynamic linking.
  4272.  
  4273. ANSWER: The best way to illustrate this is with a simple example of
  4274. what happens without dynamic linking.
  4275.  
  4276.  #include <stdio.h>
  4277.  
  4278.  int errno;
  4279.  FILE * foo;
  4280.  
  4281.  main(){
  4282.   foo = fopen("/usr/bin/foo","w");
  4283.   printf("foo: %x errno: %d\\n",foo, errno);
  4284.  }
  4285.  
  4286. Assume this program is run by a non-root user. Normally you would
  4287. expect that the open will fail because the user does not have
  4288. permission to write to /usr/bin - this means that fopen() would return
  4289. NULL, and errno would contain 13, which means EACCES - Permission
  4290. denied. If you link this to a normal jump table library, it prints
  4291.  
  4292.  foo: 0  errno: 0
  4293.  
  4294. Now consider the following nearly identical program:
  4295.  
  4296.  #include <stdio.h>
  4297.  
  4298.  extern int errno;
  4299.  FILE * foo;
  4300.  
  4301.  main(){
  4302.   foo = fopen("/usr/bin/foo","w");
  4303.   printf("foo: %x errno: %d\\n",foo, errno);
  4304.  }
  4305.  
  4306. The results for this program are:
  4307.  
  4308.  foo: 0  errno: 13
  4309.  
  4310. Why does this happen???. First of all you must realize that in the
  4311. first program errno is not declared external, and thus storage will be
  4312. allocated in the data segment for the variable. Unfortunately there
  4313. is no way to tell libc this, and libc has it's own storage for errno.
  4314. Thus libc writes the result in one location and you are looking in the
  4315. other. In the second program errno is declared extern, and thus no
  4316. storage will be allocated. The linker will see the need for a
  4317. definition of errno, and it will find one in libc. Thus in the second
  4318. example the user program is reading the same memory location that the
  4319. library stored the answer in.
  4320.  
  4321. This is of course a simple example. There are more complicated
  4322. examples involving programs that want to redefine a library function
  4323. and these can lead to quite bizarre behavior which is difficult to debug.
  4324.  
  4325. With dynamic linking, both of the above programs yield the same
  4326. (correct) result.
  4327.  
  4328.   IX.24)  How does dynamic linking work under linux?
  4329.  
  4330. ANSWER:  Basically, to implement dynamic linking we need to route all
  4331. function calls to global functions through the jump table. We also
  4332. need to make sure that all global data is accessed indirectly through
  4333. a pointer. The actual libraries do not really look very much
  4334. different from the actual jump table libraries that we are currently
  4335. using, but there are additional pointers to the global data in the
  4336. sharable image that are used internally by the library to access all
  4337. global data. There are also additional symbols in the stub library
  4338. that are defined as the address of the various pointers, and are used
  4339. by the linker to help determine whether there is a pointer or a jmp
  4340. instruction that needs to be fixed up.
  4341.  
  4342.  The linker has one new important task with dynamic linking.
  4343. It watches for duplicate definitions of symbols, and if the
  4344. second definition is in a sharable library, it makes a note of it as a
  4345. conflict that needs to be resolved at run time. The linker puts a list
  4346. of all of these conflicts into a table and makes it available to crt0
  4347. through the variable __SHARABLE_CONFLICTS_.
  4348.  
  4349.  At run time, crt0 (through the function __dynamic_resolve)
  4350. will go through and fix up all of the pointers that need to be fixed.
  4351. Let us say for example that you define your own malloc function in a
  4352. program - in this case at run time the startup code will actually
  4353. modify the jmp instruction in the jump table so that it points to the
  4354. malloc function in your program, not the one in the library.  The
  4355. library will never refer to the malloc function directly, but it will
  4356. always be referenced through the jump table - in this way we ensure
  4357. that there will only be one function named malloc that is used by a
  4358. given program.
  4359.  
  4360.  If you were to run the first example program in the "Why do I
  4361. need dynamic linking" answer, then the pointer in the library that
  4362. corresponds to the variable errno will be modified so that it points
  4363. to the errno variable that is in your program.  The library itself
  4364. will never use errno directly - it will always use it via the special
  4365. pointer variable.  In this way we ensure that all references to the
  4366. variable errno both in your program and in the sharable library will
  4367. reference the same memory address.
  4368.  
  4369.   IX.25)  Does Linux work for SCSI drives?
  4370.  
  4371. ANSWER: Yes since v0.96. Read the section devoted to SCSI in this FAQ
  4372. (check the TOC file to find the section).
  4373.  
  4374.  
  4375.   IX.26)  Linux is supposed to work with ESDI drive. However I have
  4376. trouble with my Magtron MT-4115E (Joincom controler), any clue?
  4377.  
  4378. ANSWER: (Linus) Some harddisk don't like linux (even though they
  4379. should). Maybe not a bug but a deficiency.
  4380. (Mika) I had to remove the printk "unexpected hd interrupt" statement
  4381. in hd.c because I was getting so many of those messages. Be warned
  4382. that if there is any read error the system just hangs, even the
  4383. ctrl-alt-del won't work. You should be able to use your ESDI drives if
  4384. you could live with those nuisances.
  4385.  
  4386.   IX.27)  How does one go about applying a patch to Linux ?
  4387.  
  4388. ANSWER: (Drew Eckhardt) In the unix world most of distribution are in
  4389. source form. This includes the operating system. To apply a patch, you
  4390. apply it with the 'patch' program to the affected sources. The patch
  4391. program takes as input the differences between the old and the new
  4392. version. After patching you need to recompile the sources.
  4393.  
  4394. Assume I want to apply a patch enclosed in the file XXX. First of all
  4395. I will look at the top of XXX, where the file affected is identified.
  4396. This may have aleading path attached to it. Either cd out to the
  4397. "root" of the patch, ie if I see
  4398. linux/kernel/blk_drv/blk.h
  4399.  
  4400. I would cd into /usr/src 
  4401. (assuming it's the place where I can find linux/kernel...) 
  4402. and then patch as follows
  4403. patch -p0 < whatever_place/XXX
  4404.  
  4405. or, you can specify a number of path components to strip from the
  4406. path. If I am in the blk_drv directory patching would be
  4407. patch -p3 < whatever_place/XXX
  4408.  
  4409.  
  4410.   IX.28)  There are a lot of patches available (ps patch, NFS patches,
  4411. CD-ROM patches ...) can I be fairly confident the subsequent patches will
  4412. work?
  4413.  
  4414. ANSWER: This is not true yet for the current version; but it will be
  4415. so I kept it :) 
  4416. No you can't, patching is a real beta tester art :)).  People are not
  4417. working on the same patched release, so you have to check if the
  4418. patches you already applied works on the same kernel part, if not,
  4419. /great/, just apply them. If yes, check if there is an order, patch
  4420. creator knows that, and (should) try to warn patch user (in other
  4421. words: beta tester) otherwise you should edit the patch files (and
  4422. possibly make a brief note to others on this list/newsgroup or even a
  4423. cdiff) before applying them, another solution is to keep cool and wait
  4424. for the next version of Linux where, in general, the modifications
  4425. have been done but this behavior is /not/ Linux helpful.
  4426.  
  4427.  
  4428.   IX.29)  I got the patches on some ftp sites, and applied them to the
  4429. kernel and tried to compile. It didn't !!. Are the patches buggy?
  4430.  
  4431. ANSWER: Before remake, just do a make clean in the directories
  4432. involved by the patches. This will force a rebuild of the .o and .a
  4433. files. 
  4434. If you have a RCS running on your source tree, did you checked a
  4435. patched version of the files changed before /any/ CO either by you or
  4436. make
  4437.  
  4438. Finally, make sure the patches succeded. Normally, failed patches on a
  4439. file FILE will leave a FILE# file. Moreover you will get a "chunk
  4440. failed" message. It is possible to capture the output while patching,
  4441. with the following:
  4442.  
  4443.  patch -p0 < patchfile | 2>&1 patch.result | more
  4444.  
  4445.  
  4446.   IX.30)  What is VFS?
  4447.  
  4448. ANSWER: (Ted) Linux 0.96 already has Virtual FileSystem, which means
  4449. that it acts as a filesystem switch. It makes it easy for someone to
  4450. design another filesystem format and include it in the Linux kernel
  4451. along with the standard minix filesystem format. So it /enables/
  4452. someone to design a robust filesystem which would have some nice
  4453. properties (no 14 chars file name limitation, nor 64Meg limit), and
  4454. could be included in the kernel in such a way that both the Minix and
  4455. the new one could be mounted at the same time. This solves the
  4456. uncompability problem; since the root disk could still use the Minix
  4457. filesystem, while the hardisk could be using the new one.
  4458.  
  4459.  
  4460.  
  4461.   IX.31)  What's about Bus Mice ?
  4462.  
  4463. ANSWER: (Nathan I. Laredo) Since the Linux v0.96c-pl2 the kernel does
  4464. support LOGITECH and BUS MICE 
  4465. If you are unsure that you have a bus mouse or not, check to see if
  4466. your mouse card has a selection for a sample rate switchable between
  4467. 30Hz and 60Hz (or possibly 25/50Hz), if it does not, then it is NOT a
  4468. true  bus mouse (InPort mice for example will not work with this
  4469. driver). 
  4470. To create a bus mouse device:
  4471. mknod /dev/mouse c 10 0
  4472.  
  4473.  
  4474.   IX.32)  What's about TeX ?
  4475.  
  4476. ANSWER: The primary site for Linux TeX is 129.78.66.1, this is 
  4477. P. Williams' site in Australia. The stuff at tsx-11 was posted by 
  4478. T. Dunbar  who does support/maintain the dvilj stuff.
  4479.  
  4480.  
  4481.   IX.33)  What's about LILO ?
  4482.  
  4483. ANSWER: (Werner Almesberger)
  4484. LILO  -  Generic Boot Loader for Linux ("LInux LOader") 
  4485.  
  4486. This is an ALPHA test release of a new boot loader. Be sure to have
  4487. some means to boot your system from a different media if you install
  4488. LILO on your hard disk.
  4489.  
  4490. Features
  4491. --------
  4492.  
  4493. - does not depend on the file system. (Tested with Minix, EXT FS and MS-DOS
  4494.   FS.)
  4495. - can be used to boot from floppies and from hard disks.
  4496. - can replace the master boot record.
  4497. - can boot non-Linux systems (MS-DOS, DR DOS, OS/2, ...) and unstripped
  4498.   kernels.
  4499. - supports up to 16 different boot images that can be selected at boot
  4500.   time. Root and swap disk/partition can be set independently for each
  4501.   image.
  4502. - boot sector, file map and boot images can be all on different disks or
  4503.   partitions.
  4504.  
  4505.  
  4506. Restrictions and known problems
  4507. -------------------------------
  4508.  
  4509. - SCSI disks are not fully supported yet. (Still waiting for some kernel
  4510.   changes.) (Should work in current release - EY).
  4511. - booting other operating systems doesn't seem to work everywhere. If
  4512.   everything but booting a non-Linux OS from LILO works on your system,
  4513.   you should boot LILO by BOOTACTV and select the alternate OS with the
  4514.   latter as a temporary work-around.
  4515. - booting non-Linux systems from the second hard disk ("D:") is not yet
  4516.   supported.
  4517.  
  4518. Please send all bug reports to almesber@nessie.cs.id.ethz.ch
  4519.  
  4520.  
  4521.   IX.34)  What's about MGR ?
  4522.  
  4523. ANSWER: (General Information grabbed from various sources)
  4524. There is a MGR channel available , contact the request adress with
  4525. help in the body: linux-activists-request@niksula.hut.fi 
  4526. The stuff can be found at tsx-11 in pub/linux/packages/MGR
  4527. In brief:
  4528.  
  4529. MGR provides:
  4530.  - multiple overlapping windows
  4531.  - multiple fonts
  4532.  - text and graphics in each windows
  4533.  - a simple popup menu package
  4534.  - a client/server model 'a la' X
  4535.  - independance from any peculiar networking technology
  4536.  
  4537. MGR consist of a server process and some clients. Each client has his
  4538. own window, and can create subwindows. Clients communicate with the
  4539. server via a bidirectionnal channel. A C library is provided.
  4540.  
  4541. When a new window starts, it is as a terminal emulator running the
  4542. shell; for more information you can grab the mgr-man.out from
  4543. bellcore.com 
  4544.  
  4545. The information hereafter appeared on the MGR channel on 19th Jan. 
  4546. > From: u31b3hs@POOL.informatik.rwth-aachen.de
  4547. > Subject: MGR 0.53
  4548. >
  4549. >
  4550. > MGR, version 0.53 for Linux and SunOS (Coherent unfinished yet).
  4551. >
  4552. > Unpack the src* stuff under in /src/lbin/mgr and the usr* stuff in 
  4553. > /usr/mgr.  I splitted things that way for making it easier to ftp
  4554. > them and carry them home.  If you don't like these paths, then use
  4555. > others, but remember to edit the Configfile after generating it. 
  4556. > YOU NEED TO INSTALL ALL FILES FOR COMPILING.
  4557. >
  4558. > This is a beta release for programmers, there are no binaries.  It
  4559. > makes my work available for people who either also work on MGR and
  4560. > like to get new sources and for adventerous beta testers.  WARNING:
  4561. > I assume using Linux 0.99.2 and GCC 2.3.3.
  4562. >
  4563. > There is some new m4 code to generate menus.  It is more powerful
  4564. > than menu(1), but a little harder to use.
  4565. >
  4566. > MGR is currently being ported to Coherent 4.0, but this version
  4567. > doesn't include everything yet.  There is already a beta version
  4568. > running on Coherent, although not too stable yet.
  4569. >
  4570. > For questions, write to the mailing list, channel MGR.  Please be
  4571. > sure to talk about the latest version of MGR plus having read the
  4572. > README files in the directories containing the problem.
  4573. >
  4574. > You got this stuff from ftp.thp.uni-koeln.de:pub/linux/mgr or from 
  4575. > tsx-11.mit.edu:~ftp/pub/linux/packages/MGR, which is a mirror of the
  4576. > Cologne directory.
  4577.  
  4578.   IX.35)  I have successfully compiled MGR, but when I try to run the
  4579. program I get "can't find mouse" or "already in use", any clue?
  4580.  
  4581. ANSWER: try the following "mgr -m /dev/ttys1" if the mouse is on
  4582. the serial 1. Another possibility is to link /dev/mouse with
  4583. /dev/ttys1 (assuming your mouse is on serial 1). Or if it's a bus
  4584. mouse, "mknod /dev/mouse c 10 0" once.
  4585.  
  4586.   IX.36)  Any tips for MGR?
  4587.  
  4588. ANSWER: Well, I have tried it on my 386Sx Ega/Vga; the screen is Ok
  4589. but the Logitech mouse I have is not well recognized.
  4590.  
  4591. BTW check the major/minor number for pty's; they should be character
  4592. device with 4 as major and 128 and bigger as minor:
  4593. ptyp0 c 4 128
  4594. ptyp1 c 4 129
  4595. ...
  4596. ttyp0 c 4 192
  4597. ttyp1 c 4 193
  4598.  
  4599.   IX.37)  What's about X11 ?
  4600.  
  4601. ANSWER: See the section XII. devoted to X11 in this FAQ.
  4602.  
  4603.  
  4604.  
  4605. X. GCC MISC INFORMATION
  4606. =======================
  4607.  
  4608. **** Last update 93/03/26
  4609.  
  4610.  
  4611. X.A. HLU Information
  4612. X.B. OTHERS
  4613.  
  4614.  
  4615. X.A. HLU Information
  4616. ~~~~~~~~~~~~~~~~~~~~
  4617.  
  4618. The official release of GCC for Linux is 2.3.3.
  4619. This section includes:
  4620.  README.gccdisk
  4621.  FAQ of gcc written by HLU
  4622.  
  4623.  
  4624.  
  4625.    X.01)  I don't know how to install gcc stuff, is there special
  4626. places?
  4627.  
  4628. ANSWER: This is the README.gccdisk
  4629.  
  4630.                     Linux GNU C/C++ [HJ release]
  4631.  
  4632. Introduction
  4633. ------------
  4634.   This is GNU C/C++ 2.3.3. It is linked with jump table 4.2. You should use
  4635.   it with the Linux C library disks since the C/C++ compiler has no shared
  4636.   images, which are required by all the binaries in it.  It consists of
  4637.   2 minix disks, which will fit on either 5.25" or 3.5" floppies.
  4638.  
  4639.   It is on tsx-11.mit.edu under pub/linux/GCC/gccdisk
  4640.  
  4641.  
  4642. Distribution File Format
  4643. ------------------------
  4644. There are two files, each of which goes on one disk
  4645.  
  4646.   A. Disk 1 (gcc233a.Z)
  4647.  
  4648.   This contains gcc, cpp, cc1 and crt0.o/gcrt0.o.  There are also some header
  4649.   files in /usr/lib/gcc-lib/i386-linux/2.3.3/include.
  4650.  
  4651.   B. Disk 2 (gcc233b.Z)
  4652.  
  4653.   This disk contains cc1plus.
  4654.  
  4655.  
  4656. Installing on the Hard Drive
  4657. ----------------------------------------
  4658.   1. uncompress base[1|2].Z.
  4659.   2. rawrite or dd each file to a formatted floppy disk.
  4660.  
  4661.   Now you have made a copy of gcc 2.3.3 on two floppies.  To copy each
  4662.   floppy to your hd, you should mount the floppy and copy its contents to
  4663.   your hard drive.  You can do this by:
  4664.  
  4665.     mount /dev/fd[0|1] /mnt
  4666.     cd /mnt
  4667.     for d in bin dev etc usr
  4668.     do
  4669.       if [ -d $d ]; then
  4670.         cp -av $d /
  4671.       fi
  4672.     done
  4673.  
  4674.   Note: This may overwrite some files on your hard disk.
  4675.  
  4676. Thanks.
  4677.  
  4678. H.J.
  4679. hlu@eecs.wsu.edu
  4680. 12/31/92
  4681.  
  4682.  
  4683.    X.02)  What compiler should I use for Linux?
  4684.  
  4685. ANSWER: You should only use the same version on tsx-11.mit.edu under
  4686. /pub/linux/GCC. If you want to use the testing release, first join
  4687. the GCC channel on the Linux mailing list, and then send a note to
  4688. hlu@eecs.wsu.edu. Don't use gcc older than the one on tsx-11.mit.edu.
  4689.  
  4690.    X.03)  Where is the latest official gcc 2.xx for Linux?
  4691.  
  4692. ANSWER: It's on tsx-11.mit.edu under /pub/Linux/GCC and under
  4693. pub/linux/GCC. You may find it on the other sites. Since gcc 2.3.3,
  4694. you can compile it yourself out of box from any gnu ftp sites. Just
  4695. unpack the source code and do
  4696.  
  4697.  configure [i386-linux|i486-linux]
  4698.  
  4699. You should follow the instructions in INSTALL.
  4700.  
  4701.    X.04)  Where is the latest official Linux C library?
  4702.  
  4703. ANSWER: It's on tsx-11.mit.edu under /pub/Linux/GCC and under
  4704. pub/linux/GCC. You may find it on the other sites.
  4705.  
  4706.    X.05)  What are the contents of them?
  4707.  
  4708. ANSWER: Please read the current release note and ChangeLog for
  4709. details.
  4710.  
  4711.    X.06)  How do I install them?
  4712.  
  4713. ANSWER: Read README and release notes.
  4714.  
  4715.    X.07)  What are the main differences with the old release?
  4716.  
  4717. ANSWER: Read README and release notes.
  4718.  
  4719.    X.08)  Can I use the old version of gcc?
  4720.  
  4721. ANSWER: Please get rid of gcc older than gcc 2.2.2. Starting from
  4722. gcc 2.2.2, you can do
  4723.  
  4724.  gcc -V xxxx
  4725.  
  4726. where xxxx is the version number. Please read `release.xxxx' for
  4727. detail. There is one catch in gcc 2.2.2d, setjmp/longjmp is changed,
  4728. so the old header files is not compatible with gcc 2.2.2. Before you
  4729. install gcc 2.2.2d, please do
  4730.  
  4731. cp /usr/include/setjmp.h /usr/lib/gcc-lib/i386-linux/2.2.2/include
  4732.  
  4733. where /usr/include/setjmp.h is come with gcc 2.2.2.
  4734.  
  4735.    X.09)  Can I delete the old shared image in /lib?
  4736.  
  4737. ANSWER: Since the Linux C library version 4.3, we have introduced the
  4738. dynamically linked library. There is no need to keep old shared images
  4739. in /lib if none of your binaries are linked with the classic shared
  4740. library which has been obsolete. You can just keep one version of
  4741. the shared image in /lib which has the highest major and minor
  4742. release numbers for each shared library. The name of the shared image
  4743. is "xxxxxxxxxxxxxxx.so.major.minor".
  4744.  
  4745.    X.10)  Is stdio ANSI compatible?
  4746.  
  4747. ANSWER: Yes, please test it.
  4748.  
  4749.    X.11)  Is g++ in 2.xx?
  4750.  
  4751. ANSWER: Yes.
  4752.  
  4753.    X.12)  Where can I get the gcc manual?
  4754.  
  4755. ANSWER: You can get man pages and manual come with the gcc source code
  4756. on any gnu ftp sites. You should find gcc-man.tar.z on tsx-11 which
  4757. has man pages for gcc.
  4758.  
  4759.    X.13)  What options can I use for gcc?
  4760.  
  4761. ANSWER: Read the manual. There is one special flag for Linux, -static
  4762. tells gcc to use the static libraries. The default is the jump table
  4763. version of shared libraries.
  4764.  
  4765.    X.14)  How can I debug the C code?
  4766.  
  4767. ANSWER: Read the gcc/gdb manuals. The simple way to do is
  4768.  
  4769.  gcc -g foo.c -o foo
  4770.  gdb foo
  4771.  
  4772.    X.15)  Where is the source code of the new libc.a?
  4773.  
  4774. ANSWER: The same place you find this file. It is called
  4775. libc-xx.yy.tar.z.
  4776.  
  4777.    X.16)  Why does g++ complain, even die?
  4778.  
  4779. ANSWER: You need "expr", which is in GNU shell utilities 1.6, echo (?)
  4780. and sed.
  4781.  
  4782.    X.17)  How do I generate code for 486?
  4783.  
  4784. ANSWER: Add -m486 to CFLAGS.
  4785.  
  4786.    X.18)  I heard malloc (0) wouldn't work with Linux, what should I
  4787. do?
  4788.  
  4789. ANSWER: It *does* work in a manner which POSIX allows; unfortunately,
  4790. pre-POSIX code frequently assumes that malloc(0) will not return
  4791. 0 -- the standard version of malloc under Linux *does* return 0.
  4792. By including <stdlib.h>, you get a definition of malloc which behaves
  4793. more traditionally.  If you define NO_FIX_MALLOC, then you will get
  4794. the default (non-traditional) form.  If you are trying to develop POSIX
  4795. compliant code under Linux, you should probably define NO_FIX_MALLOC to
  4796. ensure that your code doesn't make assumptions about malloc() which
  4797. will not work on other systems.  (Note: NO_FIX_MALLOC is specific to
  4798. Linux.)
  4799.  
  4800. (Provided by Phil.Richards@prg.oxford.ac.uk. Thanks.)
  4801.  
  4802.    X.19)  Why does gcc say "xxxxx..h not found"?
  4803.  
  4804. ANSWER: see QUESTION: What are the contents of them?
  4805.  
  4806.    X.20)  I really followed every step in the documentation, but when
  4807. I do "make", why does it say "don't how to make xxxxxx"?
  4808.  
  4809. ANSWER: The dependency in Makefile is dated, you need to make a new
  4810. one. Please get some guide on make and read Makefile. For the kernel
  4811. sources, please do
  4812.  
  4813. cd src/linux
  4814. make dep
  4815.  
  4816.    X.21)  How do I compile programs under Linux?
  4817.  
  4818. ANSWER: The Linux C library is trying to be ANSI/POSIX compliant. It
  4819. is also very compatible with SYSV and BSD. The C library is loaded
  4820. with SYSV and BSD functions. There are three exceptions:
  4821.  
  4822. 1. signal in Linux is POSIX.
  4823. 2. tty in Linux is POSIX.
  4824. 3. time functions are POSIX, plus a few BSD and SYSV extensions.
  4825. 4. setjmp/longjmp functions are POSIX. But you can use -D__FAVOR_BSD
  4826.    to make it BSD or use sigsigjmp/siglongjmp.
  4827.  
  4828. When you compile a program under Linux, your best bet is include all
  4829. the appropriate header files and use -Wall. All the usable functions
  4830. and global variables are declared in the corresponding header files.
  4831. YOU SHOULD NOT DEFINE ANY functions or global variables OF THE LINUX C
  4832. LIBRARY IN YOUR CODE IF YOU WANT TO USE THE SHARED LIBRARIES.
  4833.  
  4834. After saying all those, you now should know you can compile a program
  4835. with -D_POSIX_SOURCE or -D_GNU_SOURCE (read <features.h> for details).
  4836. With a few modifications you can even use -DSYSV, -DUSG or -DBSD. Some
  4837. codes need to define -DSTDC_HEADERS for ANSI C compiler like gcc here.
  4838.  
  4839. To use malloc () and calloc () safely under Linux, please include
  4840.  
  4841. <stdlib.h> and don't define NO_FIX_MALLOC.
  4842.  
  4843. BTW, gcc -traditional should work with gcc 2.2.2d or above.
  4844.  
  4845. Please also read ChangeLog for the latest enhancement.
  4846.  
  4847. Please read the header files for details. Maybe you should get a book
  4848. on POSIX. Any suggestion of the book list?
  4849.  
  4850. >From Steve Robbins  --  steve@nyongwa.cam.org
  4851.  
  4852. --------
  4853. I like "POSIX Programmer's Guide", by Donald Lewine.  Its essentially
  4854. a list of POSIX functions' man pages, with a very brief guide in the
  4855. beginning of a few things.  It's published by O'Reilly & Associates,
  4856. Inc.
  4857. --------
  4858.  
  4859.    X.22)  How can I get bsd style signal?
  4860.  
  4861. ANSWER: Use -D__USE_BSD_SIGNAL.
  4862.  
  4863.    X.23)  Why does a program that should only poll for input become
  4864. a CPU hog?
  4865.  
  4866. ANSWER: The select() system call. The timeout parameter was classically
  4867. used read-only by the system. Some manual pages already notes three
  4868. years ago:
  4869.  
  4870.        select() should probably return the  time  remaining  from
  4871.        the  original timeout, if any, by modifying the time value
  4872.        in place.  This may be implemented in future  versions  of
  4873.        the system.  Thus, it is unwise to assume that the timeout
  4874.        pointer will be unmodified by the select() call.
  4875.  
  4876. If you do not take this advice seriously you get a zero timeout written
  4877. back to your timeout structure, which means that future calls to
  4878. select() using the same timeout structure will immediately return.
  4879.  
  4880. Fix:
  4881. Put the timeout value into that structure every time you call select().
  4882. Change code like
  4883.  
  4884.        struct timeval timeout;
  4885.        timeout.tv_sec = 1; timeout.tv_usec = 0;
  4886.        while (some_condition)
  4887.          { select(n,readfds,writefds,exceptfds,&timeout); }
  4888.  
  4889. to
  4890.  
  4891.        struct timeval timeout;
  4892.        while (some_condition)
  4893.          { timeout.tv_sec = 1; timeout.tv_usec = 0;
  4894.            select(n,readfds,writefds,exceptfds,&timeout);
  4895.          }
  4896.  
  4897.    X.24)  When a program is stopped using Ctrl-Z and then restarted,
  4898. or in other situations that generate signals: Ctrl-C interruption,
  4899. termination of a child process etc. why does it complain about
  4900. "interrupted system call" or "write: unknown error" or things like that.
  4901.  
  4902. ANSWER: The system call the program was executing has been interrupted
  4903. to process the signal, and then it returned -1 and set errno = EINTR.
  4904. The program then was likely to draw bad conclusions from that.
  4905.  
  4906. Explanation: Your program has signal handlers installed, using
  4907. signal() or sigaction(). When the signal occurred, your signal handler
  4908. was invoked. In other Unix systems, this usually happens asynchronously
  4909. or in a few slow system calls:
  4910.  
  4911.   When a signal is caught during the execution of system calls such as
  4912.   read(2), write(2), open(2) or ioctl(2) on a slow device (such as a
  4913.   terminal, but not a file), during a pause(2) system call or a wait(2)
  4914.   system call that does not return immediately because a previously
  4915.   stopped or zombie process already exists, the signal-catching
  4916.   function is executed and the interrupted system call then returns a
  4917.   -1 to the calling process with errno set to EINTR.
  4918.  
  4919. Linux (following POSIX) checks for signals and may execute signal
  4920. handlers
  4921. * asynchronously (at a timer tick),
  4922. * on return from *any* system call,
  4923. * during the execution of the following system calls:
  4924.   select(),
  4925.   pause(),
  4926.   connect(), accept(),
  4927.   read() on terminals or sockets or pipes or /proc files,
  4928.   write() on terminals or sockets or pipes or line printer,
  4929.   open() on FIFOs or PTYs or serial lines,
  4930.   ioctl() on terminals,
  4931.   fcntl() with command F_SETLKW,
  4932.   wait4(),
  4933.   syslog(),
  4934.   any TCP or NFS operations.
  4935.   [For other operating systems you may have to include the system calls
  4936.    creat(), close(), getmsg(), putmsg(), msgrcv(), msgsnd(), recv(),
  4937.    send(), wait(), waitpid(), wait3(), tcdrain(), sigpause(), semop()
  4938.    to this list.]
  4939.  
  4940. In the last two cases and assuming the program's signal handler returns,
  4941. the system call returns -1 and sets errno to EINTR.
  4942.  
  4943. If the SA_INTERRUPT flag is not set for the corresponding signal,
  4944. however, in most cases the system call is automatically restarted
  4945. (continued) after execution of the signal handler, and your program
  4946. won't see any EINTR.
  4947.  
  4948. You may ask why this is not the default behavior when the default
  4949. Linux signal () is used to install the signal handler. This is because
  4950. POSIX adopted this. As for which one is better, it is a matter of
  4951. opinion.
  4952.  
  4953. Note that in some versions of BSD Unix the default behavior is to
  4954. restart system calls. To get system calls interrupted you have to use
  4955. the SA_INTERRUPT flag.
  4956.  
  4957. Fix:
  4958. Either add -D__USE_BSD_SIGNAL to your CFLAGS. Or for every signal
  4959. handler that you install with signal(), use sigaction() instead,
  4960. without setting SA_INTERRUPT.
  4961.  
  4962. Note that while this applies to most system calls, you must still check
  4963. for EINTR on read(), write(), ioctl(), select(), pause(), connect().
  4964. You may do it like this:
  4965.  
  4966.          int result;
  4967.          while (len > 0)
  4968.            { result = read(fd,buffer,len);
  4969.              if (result < 0) break;
  4970.              buffer += result; len -= result;
  4971.            }
  4972.    -->
  4973.          int result;
  4974.          while (len > 0)
  4975.            { result = read(fd,buffer,len);
  4976.              if (result < 0) { if (errno != EINTR) break; }
  4977.              else { buffer += result; len -= result; }
  4978.            }
  4979.  
  4980. and
  4981.  
  4982.          int result;
  4983.          result = ioctl(fd,cmd,addr);
  4984.    -->
  4985.          int result;
  4986.          do { result = ioctl(fd,cmd,addr); }
  4987.             while ((result == -1) && (errno == EINTR));
  4988.  
  4989.  
  4990.  
  4991.  
  4992. X.B. OTHERS
  4993. ~~~~~~~~~~~
  4994.  
  4995.    X.25)  I seem to be unable to compile anything with gcc. Why?
  4996.  
  4997. ANSWER: If you have only 2 MB RAM, gcc will die silently without
  4998. compiling anything. You must have at least 4 MB to do compilations
  4999.  
  5000. BTW Since swapping is possible, I have heard that compilation works 
  5001. with only 2Meg and a lot disk traffic :) Isn't it great?
  5002.  
  5003.  
  5004.    X.26)  gcc complains about not finding crt0.o and the system
  5005. include files What am I doing wrong ?
  5006.  
  5007. ANSWER: The include files normal place is in /usr/include. lib*.a and
  5008. *.o should be in /usr/lib or /usr/local/lib
  5009.  
  5010.  
  5011.    X.27)  I tried to port a /new/ version of gnu stuff. But in the
  5012. linking phase, gcc complains about the missing libg.a. 
  5013.  
  5014.  
  5015. ANSWER: Yes this is well known for compiler version earlier than
  5016. 2.2.2, throw away the flag -g that's all, anyway libg.a is /only/ for
  5017. debugging purpose. 
  5018.  
  5019.  
  5020.    X.28)  How to compile programs which may be debugged with gdb?
  5021.  
  5022. ANSWER: There are different ways to handle this problem. If
  5023. you have the gcc2.2.2 or later it's simple, use the -g flag. Otherwise
  5024. there are different possibilities:
  5025. 1) As there is no libg.a, you should throw away the -g flag in link
  5026. phase, this means that the compilation must be done in two steps
  5027. example: instead of "gcc -g monprog.c -o monprog", use the following
  5028. "gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
  5029. Alas this method is not that good if you are using Makefile.
  5030. 2) The other way is to create an empty libg.a as follows (Peter
  5031. MacDonald trick):
  5032. - create libfake.c containing libgfake() {}
  5033. - compile it with: gcc -c libfake.c
  5034. - create the libg.a with: ar r libg.a libfake.o
  5035. 2bis) The more tricky Humberto method:
  5036. cd /usr/lib
  5037. ranlib libg.a
  5038.  
  5039. then gcc -g monprog.c -o monprog will produce a debuggable monprog
  5040.  
  5041.  
  5042.    X.29)  When compiling some code, cc1 complains about some insn
  5043. code, what's that? 
  5044.  
  5045. ANSWER: An insn is an internal representation that gcc uses when
  5046. compiling. The main part of gcc is to take ordinary c (or c++) code,
  5047. and compile it, while ding optimizations in insn part, which is
  5048. soft/hard independant. Then another part which is hard/Os dependant
  5049. takes the insns and translate it in assembly language. The fix is only
  5050. to turn off the optimization flag (-O). 
  5051.  
  5052.  
  5053.    X.30)  When compiling #$@!, I've got some problems with "SIGBUS"
  5054. signal that doesn't exist. Any clue ?
  5055.  
  5056. ANSWER: (Louis J. LaBash, Jr.) SIGBUS is a common problem, its not
  5057. needed, just comment it all out, something like:
  5058.  
  5059. #ifdef SIGBUS
  5060. .. normal sigbus code ..
  5061. #endif
  5062.  
  5063.    X.31)  How can I write codes suitable for building shared library ?
  5064.  
  5065. ANSWER: (Eric Youngdale, eric@tantalus.nrl.navy.mil, 3/1/93)
  5066.   
  5067. In general there are very few restrictions as long as you are using the
  5068. new tools for building sharable libraries.  Before the DLL libraries were
  5069. available there were all kinds of things you had to watch out for, but
  5070. currently you can more or less build a sharable library out of the box
  5071. without making any source code modifications.  See the README in the
  5072. tools-m-n.tar.z distribution for more information on how to build a
  5073. sharable library.  
  5074.  
  5075.  
  5076.  
  5077. XI. SCSI SPECIAL
  5078. ================
  5079. *** This section is written by Drew Eckhardt, mail him for
  5080. *** information, questions related to this section.
  5081. *** Last update May 1993.
  5082.  
  5083.   XI.01)  What hardware is supported?
  5084.  
  5085. ANSWER: The Adaptec 154x, Adaptec 174x, Future Domain 8xx (TMC 
  5086. 950 based boards?), 16x0,  Seagate ST0x, Ultrastor 14F (Some of the 
  5087. new ALPHA code makes attempts to deal with the 34F) and Western Digital 
  5088. 7000 are supported.  Various Adaptec clones from Bustek and Future Domain 
  5089. are known to work, in both ISA and EISA flavors.
  5090.  
  5091. There is an alpha driver for the Ultrastor 24F -
  5092.  
  5093. tsx-11.mit.edu:/pub/alpha/scsi/u24f-driver.tar.z
  5094.  
  5095. Some of the SCSI drivers will not autodetect your SCSI host if the 
  5096. BIOS is disabled, and there may be IRQ, DRQ, address restrictions 
  5097. compiled into the distribution kernel.
  5098.  
  5099. Virtually all SCSI disks, CD ROMS, and tapes should work.
  5100.  
  5101.   XI.02)  What hardware is not supported?
  5102.  
  5103. ANSWER: The Adaptec 152x, 151x, Always IN-2000, DTC, Mylex, PS/2 SCSI boards, 
  5104. all SCSI ports on sound boards, the trantor parallel->SCSI adapter, Rancho 
  5105. SCSI boards, Grass Roots SCSI boards, Trantor SCSI boards, etc.
  5106.  
  5107. Someone is working on a driver for the IN-2000, if you want to run Linux 
  5108. on one of the other boards, you'll have to get technical
  5109. docs on it, and write a driver yourself or bribe someone to do it.
  5110.  
  5111.   XI.03)  How do I get SCSI information?
  5112.  
  5113. ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
  5114. mail linux-activists@joker.cs.hut.fi 
  5115. And put in the header.
  5116.        X-MN-Admin: join SCSI
  5117.  
  5118.   XI.04)  Where is the latest version maintained?
  5119.  
  5120. ANSWER: tsx-11.mit.edu:/pub/linux/ALPHA/scsi
  5121.  
  5122. Please join the SCSI channel of linux-activists@joker.cs.hut.fi before you 
  5123. grab anything.
  5124.  
  5125.   XI.05)  I've found one of the following bugs :
  5126.  
  5127. - I can't swap to a SCSI disk, or mount one as /
  5128.  
  5129. - I get a READ CAPACITY FAILED message on bootup.
  5130.  
  5131. - I have a removeable disk (ie Sysquest) and have problems when I change
  5132.  media.
  5133.  
  5134. - I have a Seagate / Future Domain TMC-88x and the kernel panics with a 
  5135.  kernel paging message.
  5136.  
  5137. - I have an Adaptec 1742 and am experiencing data corruption
  5138.  
  5139. - I have an Insite floptical drive and it won't work.
  5140.  
  5141. - I have a TANDBERG TDC 3600 revision U07, SONYCD-ROM CDU-541 revision
  5142.  4.3d, DENON DRD-25X revision V, or a SEAGATE ST296 revision
  5143.  921 and the system hangs or reports multiple devices.
  5144.  
  5145. - My Adaptec 1542C isn't recognized.
  5146.  
  5147. ANSWER: All of these bugs have been fixed, so UPGRADE.  
  5148.  
  5149.   XI.06)  What do I do if I find a bug that still looks like a 
  5150. bug after I've read the FAQ?
  5151.  
  5152. ANSWER: Your best bet is to send it to the SCSI channel of the mailing list,
  5153. where it will be seen by all of the people who've contributed to the 
  5154. SCSI drivers. 
  5155.  
  5156. In your bug report, please provide as much information as possible
  5157. regarding your hardware configuration, and all of the messages that 
  5158. Linux prints when it boots.  Your chances of getting the bug fixed increase 
  5159. exponentially with the amount of information provided.  
  5160.  
  5161. The bottom line is that if we can't reproduce your bug, and you can't 
  5162. point at us what's broken, it won't get fixed.
  5163.  
  5164.   XI.07)  What SCSI disks are supported? 
  5165.  
  5166. ANSWER: Disks up to two terabytes in size will work, since the sd driver
  5167. switches to 10 byte reads when necessary.
  5168.  
  5169. Flopticals, Bernoulis, Sysquests, and other removeable media devices 
  5170. are supported by the normal SCSI disk driver.  
  5171.  
  5172.   XI.08)  What about CD ROMS?
  5173.  
  5174. ANSWER: CD ROMS are supported. The ISO-9660 file system with Rockridge
  5175. extensions is supported.  You will have to make sure that you have 
  5176. configured the kernel to include the isofs filesystem or otherwise you 
  5177. will not be able to use the cdrom.
  5178.  
  5179.   XI.09)  What about SCSI tapes ? 
  5180.  
  5181. ANSWER: Tapes are supported.  You may wish to obtain the utility program mt,
  5182. which is usually available from tsx-11.mit.edu in pub/linux/ALPHA/scsi.
  5183.  
  5184.   XI.10)  How do I partition the disk?
  5185.  
  5186. ANSWER: Use fdisk, efdisk, pfdisk or the DOS parititioning program of 
  5187. your choice.
  5188.  
  5189.   XI.11)  The linux partitioning programs don't work.
  5190.  
  5191. ANSWER: Some of these default to /dev/hd*, which are disks on 
  5192. WD-1003 compatable controllers (IDE, MFM, RLL, ESDI, etc), rather
  5193. than /dev/sd* (SCSI disks).   Your solutions are to 
  5194.  
  5195. 1.  Call the partitioning program with a device name, ie 
  5196.  pfdisk /dev/sda
  5197.  
  5198. 2.  Make links from /dev/hd* to /dev/sd*.  
  5199.  
  5200.   XI.12)  My partitioning program can't figure out the disk geoemetry
  5201.  
  5202. The problem with partitioning SCSI disks and Linux is that Linux talks
  5203. directly to the SCSI interface.  Each disk is viewed as the SCSI host
  5204. sees it : N blocks, numbered from 0 to N-1, all error free.  There is
  5205. no portable way to get disk geometry.  
  5206.  
  5207. However, DOS doesn't like things like this, it demmands that BIOS
  5208. present it with a normal Cylinder / Head / Sector coordinates.  So,
  5209. BIOS does, and it comes up with some fabrication that fits what DOS
  5210. wants to see.  You don't want to disagree with what BIOS thinks when
  5211. you write the partition table. 
  5212.  
  5213. The newest SCSI code will return the mapped geometry for some host 
  5214. adapter / disk combinations.  Kernel release 0.99 and later should have
  5215. this capability.
  5216.  
  5217. QUESTION :  I can't make a filesystem on /dev/hd*
  5218.  
  5219. ANSWER : /dev/hd* aren't your SCSI disks.  /dev/sd* are. 
  5220. See below for approproate major / minor numbers if they 
  5221. do not exist on your root diskette.
  5222.  
  5223.   XI.13)  What are the major / minor numbers for SCSI drives?
  5224.  
  5225. ANSWER: Because of the large number of devices that can be hung off of 
  5226. a SCSI bus (as many as 56 if you use SCSI fanouts or bridge boards), 
  5227. and the possibility of 16 partitions on a SCSI disk, we'd run out of 
  5228. minor numbers if they were statically allocated - so a dynamic 
  5229. numbering scheme is used.
  5230.  
  5231. Block device major 8 is used for SCSI drives, 11 for CD-ROMs.  
  5232. Character device major 9 is used for SCSI tapes.
  5233.         
  5234. Minors are assigned in increments of 16 to SCSI disks as they are
  5235. found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
  5236. ID.  Most hosts use ID 7 for themselves.
  5237.  
  5238. A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
  5239. is between 1 and 4, that partition, extended partitions dynamically
  5240. assigned from 5 to 15 inclusive.  Note that the gendisk.c module
  5241. prints partition tables on initialization - you should be able to see
  5242. them there.
  5243.  
  5244. Example : I have three SCSI disks, set up as follows 
  5245.         Seagate ST02, ID=0
  5246.         Seagate ST02, ID = 5
  5247.         Adaptec 1542, ID = 0
  5248.  
  5249. The first disk on the seagate at ID 0 will become minors 0-15
  5250. inclusive, the second at ID5 16-31 inclusive, the disk on the
  5251. Adaptec 48-63.
  5252.  
  5253.   XI.14)  My tape drive or other removeable media device isn't recognized
  5254. at boot time.
  5255.  
  5256. ANSWER: Try booting with a tape in the drive.
  5257.  
  5258.   XI.15)  How do I reduce kernel bloat and eliminate the drivers I
  5259. don't want?
  5260.  
  5261. ANSWER: For kernel release 0.99 and later, just go to the to directory
  5262. in the kernel source tree, and type ``make config'', and answer the
  5263. questions.  For older kernel distributions, simply #undef
  5264. CONFIG_DISTRIBUTION in include/linux/config.h, and define the macros
  5265. for the SCSI hosts you want enabled.
  5266.  
  5267.   XI.16)  I get SCSI timeouts.
  5268.  
  5269. ANSWER: Make sure your board has interrupts enabled correctly, and 
  5270. that there are no conflicts with other devices (Sound boards 
  5271. and serial boards sometimes try to use IRQ5).
  5272.  
  5273.   XI.17)  My Seagate / Future Domain TMC-88x board is not detected.
  5274.  
  5275. ANSWER: The Seagate and Future Domain boards have memory mapped 
  5276. registers.  To detect them, Linux scans for a signature in the 
  5277. ROM BIOS (typically, a copyright message) and sets the register
  5278. addresses relative to that.  
  5279.  
  5280. This can fail for two reasons
  5281. 1) If the BIOS is disabled.  
  5282.  
  5283. In this case, you should edit kernel/blk_drv/scsi/Makefile and 
  5284. add -DOVERIDE=x -DCONTROLLER=y where x is the base address of your 
  5285. controller (the factory default setting is 0xc8000) - note that 
  5286. this is *not* the segment (ie, 0xc800), and y is the controller 
  5287. type, either SEAGATE or FD.
  5288.  
  5289. 2) If we don't know about your BIOS yet
  5290.  
  5291.  
  5292. Please use DOS and DEBUG to find us a signature that will detect 
  5293. your board - 
  5294.  
  5295. Ie, if your board lives at 0xc800 do
  5296.  
  5297. debug
  5298. d c800:0
  5299. q
  5300.  
  5301. and send me (drew@cs.colorado.edu) the nearest convienient
  5302. ASCII message, with the length and offset from c800:0 or 
  5303. whereever.
  5304.  
  5305.   XI.18)  The Seagate / Future Domain TMC-88x driver doesn't work.
  5306.  
  5307. ANSWER: There are several possibilities
  5308. 1) Is the board jumpered for IRQ5 ? 
  5309.  
  5310. The factory settings are for MSDOS, and have interrupts disabled.  
  5311.  
  5312. On the Seagate, Interrupts are controlled by the W3 (ST01) or JP3 (ST02) 
  5313. jumper.  Shorting pins F-G selects IRQ5.
  5314.  
  5315. 2) Cached machines will not have problems if the Seagate's address
  5316. space (typically C8000 - CAFFFF) is not marked "non cacheable."
  5317. This applies to the i486 internal cache as well as i386/i486 
  5318. external caches.
  5319.  
  5320. This can be set in the XCMOS of most machines.  If you can't disable
  5321. cache for the Seagate's area (16K in size, starting at the base
  5322. address), then you must disable the cache entirely, otherwise
  5323. it won't work.
  5324.  
  5325. 3) If you've defined -DFAST or -DFAST32 in the kernel, blind transfers 
  5326. will be used.  This works fine with most disks, but some won't respond 
  5327. fast enough, the read/write will timeout and things will get out 
  5328. of sync, resulting in timeouts.  Try recompiling your kernel without 
  5329. -DFAST or -DFAST32.
  5330.  
  5331.   XI.19)  The Adaptec driver doesn't work.
  5332.  
  5333. ANSWER: A common source of difficulty is a conflict between two different
  5334. boards for an IRQ level, a DMA channel, or an I/O address.  Check the
  5335. settings for the boards you have in your system (music boards are
  5336. known to use similar IRQ or I/O addresses as the Adaptec.  In the new
  5337. scsi code the Adaptec can use any of the IRQ levels that it can be
  5338. strapped for, it can use I/O address 0x330 or 0x334, and it can use
  5339. DMA channels 5, 6 or 7.
  5340.  
  5341.   XI.20)  The WD-7000FASST driver doesn't work
  5342.  
  5343. ANSWER: According to Keith Smith, 
  5344.  
  5345. "There are two different versions of the WD7000/FASST2  One uses a
  5346. WD33C93A the other a WD33C93.  Firmware incompatibilities in the board
  5347. bios could cause a problem as the former chip fixes some problems that
  5348. were discovered on the latter.  We're talking BOARD firmware, as well as
  5349. BIOS firmware."
  5350.  
  5351.   XI.21)  My Ultrastor 14F or 34F isn't detected 
  5352.  
  5353. ANSWER: The Ultrastor 14F driver won't probe for an Adapter at address
  5354. 0x310.  Either move it do a different address, or recompile the kernel, 
  5355. adding a rule to kernel/blk_drv/scsi/Makefile
  5356.  
  5357. ultrastor.o: ultrastor.c
  5358.  $(CC) $(CFLAGS) -DOVERIDE_PORT=0x310 -c ultrastor.c
  5359.  
  5360.  
  5361.  
  5362.   XI.22)  When using a Seagate / Future Domain TMC-88x, why does my system 
  5363. hang when syncing to disk?
  5364.  
  5365. ANSWER: The Seagate boards are an incredibly brain dead piece of hardware.
  5366. They can only generate an interrupt when a target raises the SEL signal.
  5367. So, as long as a target is connected, the Seagate driver must spin its 
  5368. wheels waiting for the actual data transfer.  Some devices agravate the 
  5369. situation by connecting for long periods of time while not doing anything.
  5370.  
  5371.   XI.23)  My system is dog slow (ie, 60k/sec)
  5372.  
  5373. ANSWER: SCSI commands have an incredible amount of overhead.  For 
  5374. every command, you need to arbitrate for the bus, select the target,
  5375. establish an I_T_L nexus, and send the command.  Processing of that
  5376. command may take as much as 1ms on older devices.  Add this overhead
  5377. to what you already have coming through the file system, buffer 
  5378. cache, etc, and you have a real problem.
  5379.  
  5380. To work around this, we needed to maximize the amount of data that 
  5381. could be transfered in a single command.  So, we implemented 
  5382. scatter-gather, which allows reads/writes from/to contiguous 
  5383. disk sectors to non-contiguous buffers.  
  5384.  
  5385. This typically gets you a 3-5 fold improvement in performance.
  5386.  
  5387. The current kernel has scatter-gather support for the Adaptec, Western 
  5388. Digital, Ultrastor, Future Domain 16xx, Future Domain 8xx and Seagate 
  5389. boards.
  5390.  
  5391.  
  5392.     ===================8<==========>8================
  5393.  
  5394.  
  5395. -- 
  5396. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5397. # LaBRI     |         #
  5398. #  351 cours de la Liberation    |  e-mail:  corsini@geocub.greco-prog.fr   #
  5399. #  33405 Talence Cedex   |  e-mail:  corsini@labri.u-bordeaux.fr    #
  5400. #       |         #
  5401. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5402. -- 
  5403.   There will be a sig when our local net is reliable.
  5404.         For now, I would rather stay anonymous.
  5405. Archive-name: linux-faq/part5
  5406. Last-Modified: 93/06/07
  5407. Version: 1.18
  5408.  
  5409. *********************************************************
  5410. *       *
  5411. *   Answers to Frequently asked questions about Linux   *
  5412. *       *
  5413. *********************************************************
  5414.  
  5415. This post contains Part 5 of the Linux FAQ (5 parts).
  5416. It must be read *after* the 4 first parts. 
  5417.  
  5418. ===================================8<====>8============================
  5419. CONTENTS (of this part)
  5420.  
  5421.  XII. X11, THE MAXIMUM and MORE (part5)
  5422.  XIII. NETWORKING and LINUX  (part5)
  5423.  XIV. EVERYTHING FOR PRINTING  (part5)
  5424.  
  5425. ===================================8<====>8============================
  5426.  
  5427.  
  5428.  
  5429. XII. X11 THE MAXIMUM and MORE
  5430. =============================
  5431. *** This section is maintained by Krishna Balasubramanian
  5432. *** <balasub@cis.ohio-state.edu>. Mail him if you have corrections,
  5433. *** additions, etc.
  5434. *** Last update:  Thu, 13 May 93 00:35:45 -0400
  5435.  
  5436.  
  5437. XII.A. X386 GENERAL INFORMATION
  5438. XII.B. HARDWARE REQUIREMENTS: Supported Video cards, mice.
  5439.  
  5440. XII.C. LINUX DISTRIBUTION: Files required, Current version.
  5441. XII.D. LEARNING/USING X: Pointers to X documentation.
  5442.  
  5443. XII.E. DEBUGGING STARTUP PROBLEMS: Checklist, Screen restoration, Hanging.
  5444. XII.F. XCONFIG: Video mode settings and common errors in Xconfig.
  5445.  
  5446. XII.G. X-APPLICATIONS: Compiling X programs.
  5447. XII.H. ATI: SVGA server for ATI boards.
  5448.  
  5449. XII.I. BUGS
  5450.  
  5451.  
  5452. The X11 directories on linux systems are:
  5453. XLIB = /usr/X386/lib/X11/   (or /usr/lib/X11/) 
  5454. XBIN = /usr/X386/bin/    (or /usr/bin/X11/)
  5455. XDOC = XLIB/etc/
  5456.  
  5457. cwxi = the comp.windows.x.i386unix newsgroup
  5458. Subscribe to this group if you are an xfree86 user. Post general
  5459. questions on xfree86 to cwxi instead of c.o.l. Very few problems
  5460. with using xfree86 are Linux specific.
  5461.  
  5462.  
  5463.  
  5464. XII.A. X386 GENERAL INFORMATION
  5465. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5466.  
  5467.  XII.01)  What is the X11 release supported by Linux?
  5468.  
  5469. ANSWER: It's the X11R5 (xfree86-1.2). 
  5470.  There are (currently separate) servers for 8514 and S3 chips.
  5471.  
  5472. xfree86-1.3 should be available in a few weeks. Major changes are
  5473. Improvement of video restoration, expanded support for WD chips
  5474. and the inclusion of PEX. You should get newer versions of any
  5475. applications that are older than the xfree86-1.2 release.
  5476.  
  5477.  XII.02)  What is X386/xfree86?
  5478.  
  5479. ANSWER: X386 is the port of the X11 server to System V/386 that was
  5480. done by Thomas Roell (roell@informatik.tu-muenchen.de).  It supports a
  5481. wide variety of VGA boards.  X386 1.2 is included in MIT's X11R5
  5482. distribution.
  5483.  
  5484. The Linux X386 port was based on the stock distribution from X11R5,
  5485. from MIT and was done by Orest Zborowski (obz@sisd.kodak.com).
  5486.  
  5487. It has since moved to becoming part of the standard xfree86 distribution.
  5488. See the FAQ on cwxi for more information on xfree86.
  5489.  
  5490.  XII.03)  Where can I get X386 1.2 (X11R5)?
  5491.  
  5492. ANSWER: The X386 1.2 and xfree86 sources are available at any site that
  5493. distributes the X11R5 source (too numerous to list here, but includes
  5494. export.lcs.mit.edu)
  5495.  
  5496.  
  5497.  XII.04)  Any tips on compiling X11R5?
  5498.  
  5499. ANSWER:
  5500. -  Dont do it.
  5501. -  XFree86 is distributed with a link kit so you can optionally
  5502.  include what you like in the server.
  5503. -  Join the xfree86 beta team (how to? see cwxi FAQ)
  5504. -  Instructions are in the README file in XDOC/ and the cwxi FAQ.
  5505.  
  5506.  
  5507.  
  5508. XII.B  HARDWARE REQUIREMENTS:
  5509. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5510. Approx: at least 4 megs of ram + swap ...slooooww. 10 Meg disk for X.
  5511. Another 6-10 meg of disk for GCC if you want to compile X11 programs.
  5512.  
  5513.  XII.05)  What VGA boards are supported?
  5514.  
  5515. ANSWER: 
  5516.  et3000, et4000, gvga, pvga1a, wd890c00, tvga8900, ati ver. 5 or 6,
  5517.         8514/A. (X386mono supports generic vga's and hercules).
  5518.  
  5519.  Diamond cards are not supported and will not be supported. If
  5520.  you are the unfortunate owner of such a card, you can probably 
  5521.  get the server up by booting in specific modes or using dos to 
  5522.  set your modes before warm booting into linux or using an 
  5523.  external clock setting program. You will have to bear with these 
  5524.  irks until you can convince diamond to alter their policy.
  5525.  
  5526.     Standard x11v1.1 or xfree86 server:
  5527.  ET3000   (for ex. GENOA 5300/5400)
  5528.         ET4000   (Tricom, STB PWR Graph, Sigma Legend, etc.)
  5529.         GVGA   (Genoa 6400)
  5530.         PVGA1A   (Paradise VGA Professional) 
  5531.         WD90C00  (Paradise VGA 1024)
  5532.  
  5533.     supported by xfree86:
  5534.  TVGA   TRIDENT 8900c, 9000, support is in xfree86 
  5535.  
  5536.  ATI  See the ATI section below.
  5537.  
  5538.    Those with 8514 compatible cards may want to get 
  5539.    the X8514 server for speed (~2x xstones?).
  5540.  
  5541.  MONO    Any vga card should be able to use X386mono server. (At least
  5542.   640x480 with 800x600 virtual). Use the vga2 section of Xconfig.
  5543.   Support for hercules monochrome card (usable as 2nd display).
  5544.  
  5545. The following servers will usually not handle all the options supported by 
  5546. xfree86. Read the documentation that comes with them carefully. They
  5547. will be merged with the xfree86 distribution in some time.
  5548.  
  5549.  
  5550. 8514 ATI graphics ULTRA, ATI graphics Vantage 
  5551.  Should work with any VESA standard 8514/A register compatible
  5552.  card? Courtesy Kevin Martin (martin@cs.unc.edu).
  5553.  
  5554.  Scott Laird (lair@midway.uchicago.edu) writes: 
  5555.  I uploaded a new version of the X8514 X Server to sunsite and 
  5556.  tsx-11. It is in /pub/Linux/X11/X-servers/X8514/X8514scale.tar.Z
  5557.  on sunsite. It's linked with version 4.2 of the jumptable libraries,
  5558.  includes TCP/IP support, support for compressed bitmap fonts, Type 1 
  5559.  and Speedo scalable fonts.  There's a README file in the same 
  5560.  directory that will answer more questions.
  5561.  
  5562. XS3 S3 chipset server (Jon Tombs jon@robots.ox.ac.uk)
  5563.  Get the FAQ on ftp.robots.ox.ac.uk (pub/linux/S3 check sunsite).
  5564.  
  5565. Xega Generic 640x480x16 compatible server (originally for laptops).
  5566.  This requires a microsoft mouse at /dev/mouse for now
  5567.  and it does not use Xconfig so use environment variables
  5568.  to define the font path etc. in .xinitrc:
  5569.  export FONT_PATH=/usr/lib/X11/fonts/misc:/usr/lib/X11/fonts75dpi
  5570.  Works better with courier fonts so add to .Xresources:  
  5571.  *Font: -*-courier-medium-r-*--10* ..or whatever..
  5572.  A link kit is available at tsx-11 (you need gcc2.2.2).
  5573.  in pub/linux/ALPHA/Xega/X386.ega.T.Z
  5574.  (Obselete? Unusable? Anyone?)
  5575.  
  5576.  
  5577. WARNING: Do not try to bring up an Xserver that does not support your 
  5578. hardware. There have been cases where damage has resulted from pushing
  5579. the monitor (specially fixed frequency monitors) beyond its specs.
  5580.  
  5581.  
  5582.  XII.06)  What Mouses are supported?
  5583.  
  5584. ANSWER: Serial : Logitech, Microsoft, MouseSystems .... compatibles ...
  5585.  Busmouses : Logitech, microsoft, ATI_XL, PS/2 (aux).
  5586.  
  5587.  
  5588.  XII.07)  Does anyone have a working PS/2 mouse? Has anyone gotten the 
  5589. "Mini-DIN" mouse on an HP Vectra 486/33T to work? The slight info I've 
  5590. been able to find says it's PS/2 compatible. Does anyone have a
  5591. working MouseMan on a PS/2 port ?
  5592.  
  5593. ANSWER: (heeb@watson.ibm.com)
  5594. First you need to create an entry in /dev for it:
  5595.  
  5596. mknod /dev/psaux c 10 1
  5597.  
  5598. The other steps depend on the version of XFree: for XFree86-1.2
  5599. add the following line to your Xconfig (and you are done):
  5600.  
  5601. PS/2 "/dev/psaux"
  5602.  
  5603. This works even for 3 button mice (e.g. the MouseMan)!
  5604. There is no direct PS/2 mouse support in XFree86-1.1, so to use the
  5605. mouse with X you'll have either to upgrade or use the mconv mouse
  5606. protocol conversion utility, which can be found on nic.funet.fi, in
  5607. /pub/OS/Linux/utils/tools/mconv.c. This program converts the packets
  5608. sent by the PS/2 mouse into the corresponding ones from a Microsoft
  5609. mouse, so you can fool X telling it you have a Microsoft serial
  5610. mouse instead. Instructions for use are included in the source file.
  5611. (Johan Myreen jem@cs.hut.fi)
  5612.  
  5613.  
  5614.  XII.08)  I have trouble with my logitech Pilot mouse and X under
  5615. Linux, any clue ? 
  5616.  
  5617. ANSWER: (Thomas Roell?) There are TWO lines of Logitech mice out there.
  5618. One is the programmable and uses MouseSystems protocol at startup.
  5619. X386 reprogramms them to use another protocol. If you specify
  5620. 'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (notC7-M).
  5621. The second line is the MicroSoft compatible. Currently all newer
  5622. Logitech mice follows this practice, like the MouseMan. In that case
  5623. you have to say 'MicroSoft' or 'MouseMan'. 
  5624.  
  5625. From: jliddle@rs6000.cmp.ilstu.edu (Jean Liddle)
  5626. I just purchased a new logitech mouseman, and yes, the new X-Windows
  5627. (XFree86 as opposed to X386) requires that you use the "microsoft" mousetype.
  5628. However, if you turn Third Button Emulation off, the middle button WILL work.
  5629.  
  5630.  
  5631.  
  5632.  
  5633.  
  5634.  
  5635. XII.C. LINUX DISTRIBUTION
  5636. ~~~~~~~~~~~~~~~~~~~~~~~~~
  5637.  
  5638.  XII.09)  What is the current version?
  5639.  
  5640. ANSWER: The newest public Linux release is xfree86-1.2. 
  5641. It was compiled with gcc-2.3 (jump tables 4.3) and is available 
  5642. for example at tsx-11 in pub/linux/packages/X11/XFree86-1.2/.
  5643.  
  5644.  XII.10)  What Files do I need to download?
  5645.  
  5646. ANSWER: For xfree86: There is a README file in the distribution directory.
  5647. Bring this down first and read it. Then get xbin, xman and xfonts.
  5648. You need xprog and xlibman only if you plan to compile X applications.
  5649. You need xkit if you want to relink the server.
  5650.  
  5651. **** You need The shared images libc.so.4 (4.3 or later) and libm.so.4 (4.0) 
  5652. in /lib/. All the X11 binaries use these. These are available with the GCC
  5653. distribution or any new rootdisk. To compile programs you should
  5654. get gcc-2.3 or later and the 4.3 libraries.
  5655.  
  5656. To get a different server, see the notes in the previous section.
  5657.  
  5658. X11 directories in the archive sites are:
  5659. tsx-11 : pub/linux/packages/X11, pub/linux/usr.bin.X11
  5660. sunsite : pub/Linux/X11/ 
  5661.  
  5662.  
  5663.  XII.11)  Where do the X11 files go? What are they?
  5664.  
  5665. ANSWER: The linux X binary distribution looks something like:
  5666.  
  5667. /usr/X386/
  5668.         lib/
  5669.      libX11.a ...     (X libraries needed for compiling stuff).
  5670.          X11/
  5671.               config/      (template files for compiling ... xmkmf) 
  5672.                 fonts/
  5673.              misc/ , 75dpi/ .... 
  5674.                 etc/         (documentation).
  5675.         bin/                 (X386, X386mono, xterm, X linked to X386).
  5676.         include/X11/         (include files needed for compiling).
  5677.             bitmaps/  (icons, bitmaps used by some applications).
  5678.         man/
  5679.      man1/, man3/, cat1/, cat3/
  5680. /lib
  5681.     libX??.so.??         (Shared images needed by all X11 binaries).
  5682.  
  5683.  
  5684. Its best you do a tar -tvzf on the distribution you get or find
  5685. some means of extracting the distribution file list.
  5686. The support files include default/example Xconfig, xinitrc, twmrc
  5687. which you could copy to your HOME directory (as Xconfig, .xinitrc
  5688. and .twmrc) and edit them to define your hardware and X11 setup.
  5689. The directory XLIB/etc/ contains much documentation on how to 
  5690. configure video modes.
  5691.  
  5692. Read the files XDOC/README and XDOC/README.Linux.
  5693.  
  5694.  
  5695.  
  5696.  
  5697. XII.D.  LEARNING/USING X
  5698. ~~~~~~~~~~~~~~~~~~~~~~~~
  5699.  
  5700.  XII.12)  Where can I find the basic help for learning/using X ?
  5701.  
  5702. ANSWER: Try man X386; man Xserver; man xterm; man twm; man xinit
  5703. on any machine with X11.  The man pages on xterm and twm will reflect
  5704. behaviour on Linux systems quite accurately. The others will give you
  5705. some bearing though not every option will work.  These man pages are
  5706. part of the xfree86 distribution.
  5707.  
  5708.  
  5709.  XII.13)  What docs are available besides man pages?
  5710.  
  5711. ANSWER: The FAQ in comp.windows.x is extensive and has a bibliography. 
  5712. There is also the Xt-FAQ. Both are available from export.lcs.mit.edu in
  5713. pub/contrib/. There is a collection of (mit) X11 documents on tsx-11
  5714. (pub/linux/doc/xdoc.tar.Z ?) or export (pub/R5-Untarred) if you are 
  5715. interested in internals.
  5716. Also of interest if you use motif, open-look/xview or interviews:
  5717. comp.windows.x.motif, comp.windows.open-look, comp.windows.interviews.
  5718.  
  5719.  
  5720.  XII.14)  How do I start up X?
  5721.  
  5722. ANSWER: Type 'startx' at the shell prompt. Before doing this you should:
  5723. 0) Untar the xfree86 distribution from / (read XDOC/README, XDOC/README.Linux).
  5724. 1) copy the file Xconfig.sample from the XLIB/ directory to your 
  5725.  HOME directory (/usr/root/Xconfig?) or to XLIB/Xconfig.
  5726. 2) Edit Xconfig and set the video data for your card and monitor. 
  5727.    Use the clocks appropriate for your card and the modes appropriate 
  5728.    for your monitor for those clock values. To determine what values are
  5729.    appropriate the Xconfig section below and the files in XDOC/. 
  5730. 3) Set the mouse device in Xconfig correctly....Use the busmouse entry
  5731.    for Logitech only. For other busmouses use microsoft (try all :-).
  5732. 4) Ensure that there is a termcap entry for xterm in /etc/termcap
  5733.    (One is available in the subdir /doc/).
  5734. 5) Ensure that the X11 binaries are in the path example:
  5735.    add the line PATH=${PATH}:/usr/X386/bin to ~/.profile or
  5736.    look at bash.ad in /doc/.
  5737. WARNING: NONE of the modes (in the Modes line in Xconfig) should use a 
  5738. clock your monitor cannot handle.
  5739. Now type startx.
  5740.  
  5741.  
  5742.  XII.15)  How do I configure X .. colors, menu, keyboard?
  5743.  
  5744. ANSWER: makes me ... dizzy ...
  5745. server : video, keyboard
  5746.  Xconfig : man X386, man Xserver, XDOC/VideoModes.doc
  5747.            man X386keybd, man xset, man xmodmap. 
  5748.  
  5749. resources: global and application preferences.
  5750.  XLIB/xinit/.Xresources or ~/.Xresources : man xrdb?
  5751.  
  5752. twm :   menus, title bars, colors .. look and feel.
  5753.  ~/.twmrc or XLIB/twm/system.twmrc : man twm
  5754.  
  5755. xinit : startup. 
  5756.         ~/.xinitrc or XLIB/xinit/xinitrc -- man xinit
  5757.  
  5758. applications : XLIB/app-defaults/Xxx (also ~/.Xresources)
  5759.   man xxx
  5760.  
  5761. You can start with files from any X11 setup. Backup the files 
  5762. you change. See the FAQ on comp.windows.x.
  5763.  
  5764.  
  5765.  XII.16)  [suggested by Thomas Koenig]
  5766.  How do I support national keyboards in X11 ?
  5767.  
  5768. ANSWER: Put a .Xmodmap file into the user's home directory specifying
  5769. which keys to use for what; or else replace the
  5770. /usr/lib/X11/xinit/.Xmodmap with the national keyboard keys
  5771. customized. Do man xmodmap for more details. 
  5772. enclosed an excerpt of mine (french keyboard):
  5773. keycode   8 =
  5774. keycode   9 = Escape
  5775. keycode  10 = ampersand 1
  5776. keycode  11 = eacute 2 asciitilde
  5777. keycode  12 = quotedbl 3 numbersign
  5778. keycode  13 = apostrophe 4 braceleft
  5779. keycode  14 = parenleft 5 bracketleft
  5780. keycode  15 = minus 6 bar
  5781. keycode  16 = egrave 7 grave
  5782. keycode  17 = underscore 8 backslash
  5783. keycode  18 = ccedilla 9 asciicircum
  5784. keycode  19 = agrave 0 at
  5785. keycode  20 = parenright degree bracketright
  5786. keycode  21 = equal plus braceright
  5787. keycode  22 = BackSpace
  5788. keycode  23 = Tab
  5789. keycode  24 = A
  5790. ........
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796. XII.E. DEBUGGING STARTUP PROBLEMS:
  5797. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5798.  
  5799.  XII.17)  I cannot type in my xterm 
  5800.  
  5801. ANSWER: /dev/console must have major=4, minor=0
  5802.  rm -f /dev/console; ln /dev/console /dev/tty0
  5803.  
  5804.  
  5805.  XII.18)  What are some of the common omissions and errors?
  5806.  
  5807. ANSWER: (Peter)
  5808. 1) Add /usr/X386/bin/ (or /usr/bin/X11) to your path.
  5809.  
  5810. 2) Add the xterm termcap entry to /etc/termcap.
  5811.  
  5812. 3) ln -s X386 X in the XBIN directory.
  5813.    ln -s X386mono X (if you want to use the mono server).
  5814.  
  5815. 4) Run X as root first. This avoids some trivial problems.
  5816.  
  5817. 5) If you change the font path entry .... X386 is finicky about
  5818.    the syntax. 
  5819.  
  5820. 6) Make sure your mouse entry in Xconfig points to a legitimate serial 
  5821.    device  (or busmouse)... usually something like:  microsoft "/dev/ttyS1"
  5822.    serial devices have major # 4 minor 64,65 ... busmouses are major 10.
  5823.    ls -l in /dev will show you the major and minor entries.
  5824.  
  5825. 7) Need read/write/exec access to /tmp directory 
  5826.  
  5827. 8) Use startx 2> x.err to log your error messages. If the server sticks 
  5828.    and you have to reboot you'll probably loose this stuff... see notes
  5829.    on `hanging' below.
  5830.  
  5831. 9) You must have a free vt (eg. /dev/tty5 with no getty (see /etc/rc)).
  5832.  
  5833. 10) Delete /tmp/.Xn-lock if recovering from a crash.
  5834.  
  5835. 11) Note the new probeonly option for the server (man X386):
  5836.  startx -- -pn -probeonly 
  5837.  
  5838. 12) See Xconfig problems and the device list below.
  5839.  
  5840.  
  5841.  
  5842.  XII.19)  Why is the server unable to find some of the fonts?
  5843.  
  5844. ANSWER: First check that the directories listed in the font path exist
  5845. and have font files in them. Some of the servers are not set up to use 
  5846. compressed fonts. In such cases you have to uncompress the fonts in the
  5847. directory and run `mkfontdir .`. Read the man page on mkfontdir.
  5848.  
  5849.  
  5850.  XII.20)  My server "hangs" Why?
  5851.  
  5852. ANSWER: (Peter) Quite often it isn't a hang. If the server grabs the
  5853. screen(and enters graphics mode) and then dies, it may return you to
  5854. bash *without* restoring the screen. In other words, just because you
  5855. see no output, don't assume it's running/hanging.  The way to test
  5856. this is to see if you can use a bash command to spin your disk. eg.:
  5857. sync; ls -l /bin.
  5858.  
  5859. Also - I *suspect* that (at least for me), you can kill the
  5860. server if you include the servernum option in the Xconfig (Obselete?)
  5861.  
  5862. You can kill the server when you want to by typing ctrl-alt-backspace. 
  5863. Then a couple of ctrl-C 's in case your stuck in xinit.
  5864.  
  5865. The two line message
  5866.    X386 version .....
  5867.    (protocol Version ....
  5868. is returned from the X386 programme itself, so if you get
  5869. this (or if the screen blanks) X must be starting.
  5870.  
  5871.  
  5872.  XII.21)  When I started X11 I got "Cannot connect to
  5873. server" or "process does not exist", any clue ?
  5874.  
  5875. ANSWER: The cause might be a wrong fontpath variable, mouse device
  5876. or video settings in your Xconfig.
  5877.  
  5878.  
  5879.  XII.22)  Why cant I run more than 4 xterms?
  5880.    How can I have more than 4 pty's ?
  5881.  
  5882. ANSWER: set the number in the header include/linux/tty.h and 
  5883. recompile the kernel. Also make nodes :
  5884.  mknod /dev/ptypxx 4  minor  (where minor = 128 + xx)
  5885.  mknod /dev/ttypxx 4  minor  (minor = 192 + xx)
  5886.  This is for before linux-0.97pl6.... for later versions
  5887.  you only need to make the nodes.
  5888.  
  5889.  
  5890.  
  5891.  XII.23)  How does X11 start up?
  5892.  
  5893. ANSWER: The startup involves the server (XBIN/X), and some
  5894. programs like startx and xinit.
  5895.  
  5896. Typing startx runs the script  XBIN/startx. Look through startx. 
  5897. For explanation of the server arguments try man Xserver.
  5898. startx does little other than gather arguments and then call xinit.
  5899.  
  5900. xinit runs the server X (X is linked to X386) and the client programs
  5901. specified in ~/.xinitrc. xinit continues to run, and is often the 
  5902. source of the error messages you see when you exit. If you get the 
  5903. message "giving up", it means X has died (quite probably  it died 
  5904. immediately) and xinit has been unable to start clients from the 
  5905. xinitrc script. (The scripts must be executable).
  5906.  
  5907.  
  5908.  XII.24)  What devices does X depend on:
  5909.  
  5910. ANSWER: check your device numbers with ls -l /dev. You should have:
  5911.  
  5912. 5 0 tty
  5913. 4 0 tty0
  5914. 4 0 console
  5915. 4 1 tty1 (etc)  virtual consoles (vt's) : eg. startx -- vt8
  5916. 1 1 mem
  5917.  
  5918. 4 128 ptyp0   pseudo ttys used by xterm/emacs etc 
  5919. 4 129 ptyp1 (etc) to talk to unix programs.
  5920. 4 192 ttyp0
  5921. 4 193 ttyp1 (etc)
  5922.  
  5923. 4 64 ttyS1   one of these is the mouse 
  5924. 4 65 ttyS2  or you have a busmouse.
  5925. 10 x mouse   busmouse x = 0 => logitech  1 => ps/2 (aux)
  5926.    2 => microsoft  3 => ATI_XL.
  5927. /tmp/.X11-unix/Xn       n = display number. Socket used by X11 programs to 
  5928.    talk to the server. This is created by X386.
  5929. /tmp/.Xn-lock    n = display number. Lock file.
  5930.  
  5931. Note that unix programs dont expect standard names for serial devices 
  5932. and mice. So you can give these devices any name as long as you tell 
  5933. the server what its called (in Xconfig).
  5934.  
  5935.  
  5936.  
  5937. XII.F. Xconfig: Xconfig and Video mode settings.
  5938. ~~~~~~~~~~~~~~~
  5939.  XII.25)  What do the mode names in Xconfig mean?
  5940.  
  5941. ANSWER: Mode names like "640x480" are used to match entries in 
  5942. the modes line with the modeDB entry which actually defines the mode. 
  5943. You can toggle between modes in the modes line  with ctrl-alt-numericplus. 
  5944. If you're experimenting with 640x480 you can define 
  5945.       modes "640x480a" "641x480b" "642x480c"
  5946. with different entries for each under ModeDB so you can toggle between 
  5947. these three modes. 
  5948.  
  5949.  XII.26)  How do I compute the numbers for the video modes?
  5950.  
  5951. ANSWER: See if there is an entry that matches your chip/monitor in
  5952. XDOC/modeDB.txt. Use the clock entries for your chip
  5953. and the mode entry for that clock appropriate for your monitor.
  5954. If you cant find a mode entry for a particular clock 'needed_clock'
  5955. but can find a mode entry (for your monitor) for a nearby clock value
  5956. 'found_clock', scale all numbers in the modeDB entry by 
  5957. (needed_clock/found_clock). Read XDOC/VideoModes.doc
  5958.  
  5959.  
  5960.  XII.27)  How can I determine the clocks on the video chip?
  5961.  Where can I find clock.exe or clock.pas ?
  5962.  
  5963. ANSWER: The XFREE Team discourages the use  of clocks.exe and wants it
  5964. to be removed from all docs, since the new Server is better at
  5965. guessing the clocks than clocks.exe.
  5966.  
  5967. You can get X to tell you what it finds by commenting the clocks entry 
  5968. in Xconfig. Use 'startx -- -probeonly 2> x.err' to log the output.
  5969. If X starts up this file gets the clocks only after you exit.
  5970.  
  5971. I strongly advise using the 'modegen' spreadsheets to generate the 
  5972. appropriate settings. If I remember correctly you can find them in 
  5973. 'pub/linux/packages/SLS/x4' called modegen.taz or something equally 
  5974. as obvious ... Good luck. (Andy asb@cs.nott.ac.uk)
  5975.  
  5976. The clocks entry in Xconfig serves as an index. example: 
  5977. clocks 1 2 
  5978. ModeDB
  5979. 1 640x480 .....
  5980. 2 800x600 .....
  5981. means the first clock on the chip will be used for the 640x480 mode
  5982. and so on. Usually one uses the MHz value for the clock for convenience
  5983. instead of 1 2  you probably have 25 28 ... etc.
  5984.  
  5985.  
  5986.  XII.28)  What are the settings used with a trident-8900C?
  5987.  
  5988. ANSWER: To get X/SLS/Linux working with a trident-8900C :
  5989.  
  5990. 1) From Frank Houston fh8n@uvacs.cs.Virginia.EDU 
  5991. vga256
  5992.   Virtual 1024 768
  5993.   ViewPort      0 0
  5994.   Modes         "1024x768" "800x600" "640x480"
  5995. Use the VESA monitor timings from the modeDB in the example Xconfig.
  5996. You do not need to specify the chipset or clocks.
  5997.  
  5998. 2) From: Henk Vandecasteele henkv@cs.kuleuven.ac.be 
  5999. TRIDENT TVGA 8900C card with BIOS C2.11, A cheap color monitor AOC (CM-335) 
  6000. with a maximum horizontal frequence of 39.5
  6001. vga256
  6002.   Virtual 1024 1024
  6003.   ViewPort      0 0
  6004.   Modes        "912x684" "800x600" "640x480" 
  6005. # This mode drives my monitor to the limit (VESA timings for the rest).
  6006.  "912x684"     45      912  944 1104 1136    684  684  690  712 
  6007.  
  6008.  
  6009.  XII.29)  Oh what, Oh what, Oh what can I do with a trident 8900b?
  6010.  
  6011. ANSWER: (drew@cs.colorado.edu)
  6012. 1.  While the 8900b works with the Xfree 8900c driver, you must 
  6013.     specify a chipset line for the 8900c in your Xconfig.
  6014.  
  6015. 2.  The tridents are miserably slow in a Color mode.  If you don't 
  6016.     mind black and white, you should use X386mono.  Not only is it 
  6017.     faster, but it requires less video memory, and you'll be able 
  6018.     to run a 1k X 1k virtual desktop. Again, you must specify the 
  6019.     Chipset line to use the banked mono server for virtual 
  6020.     resolutions > ~800x600.
  6021.  
  6022.  
  6023.  XII.30)  What are common problems with Xconfig?
  6024.  
  6025. ANSWER: If X isn't firing at all, or even if it clears the screen and
  6026. crashes (see below) you almost certainly have a fault in Xconfig.
  6027.  
  6028. 1. Note that the server X interprets Xconfig. (not xinit)
  6029.  
  6030. 2. test with only one graphics mode included - one you are most sure of.
  6031.  
  6032. 3. If you make a mistake in the mouse section, you will (I understand)
  6033. get an error message, so if you don't get some mouse error, try
  6034. elsewhere first. (eg "No such file or directory" indicates you have a
  6035. fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist.
  6036.  
  6037. 4. *NB* X looks in your home directory first to find an Xconfig. make
  6038. certain it's using the one you've been working on!
  6039.  
  6040. 5. you need double quotes (") around your chipset and modes: eg
  6041.  chipset "et4000"
  6042.  Modes   "640x480" "640x480a" "800x600"
  6043.    and around the /dev/ttyxx eg.:
  6044.  microsoft "/dev/ttys1"
  6045.  
  6046. 6. Check your VGA section and modeDB first.
  6047.  
  6048. 9. ensure ModeDB clock speeds match the VGA section. Comment out any
  6049. unused lines in MODEDB.
  6050.  
  6051. eg  clocks  25 36 00 00 00 00 00 00 
  6052.  
  6053. then you *must* have (and only have) lines under modeDB corresponding
  6054. to speeds 25 and 36. If you have one with (say) 62 uncommented out in
  6055. the modeDB section in place of the 36 line, you will cause the server to
  6056. die immediately with no error message.
  6057.  
  6058. 10. videoram must equal the amount of display ram on your chip.
  6059.  
  6060. 11. The virtual resolution screen must fit in the videoram.
  6061.     eg: 512kB => 800x600 (for the 1 byte per pixel color server)
  6062.  
  6063.  
  6064.  XII.31)  What do I use in my Xconfig file to use the bus mouse?
  6065. Logitech doesn't work with my Logitech busmouse.
  6066.  
  6067. ANSWER: (Nathan I. Laredo)
  6068. Here are the mouse lines from my Xconfig:
  6069.  
  6070. BusMouse   "/dev/mouse"
  6071.  
  6072. You may add a sample rate if you want, but chances are, unless the model
  6073. number on your mouse matches mine: PC-93-9MD it probably will cause your
  6074. machine to lock up, as I've gotten several reports saying that.
  6075. According to the X386 documentation, non-logitech mice do not support
  6076. a sample rate.
  6077.  
  6078.  
  6079.  XII.32)  Where can I get Xconfig-files for various hardware?
  6080.  
  6081. ANSWER: If you have access to e-mail, e-mail  bcr@physics.purdue.edu 
  6082. a  message with the  subject: help 
  6083. If you do create a new Xconfig file or improve on an old one please mail
  6084. it to bcr@physics.purdue.edu to save others from having to duplicate
  6085. your work.
  6086.  
  6087.  
  6088.  
  6089. XII.G X-APPLICATIONS: Compiling X Programs.
  6090. ~~~~~~~~~~~~~~~~~~~~~
  6091.  
  6092.  XII.33)  Does anyone know where I can find the libobz.a library ?
  6093.  
  6094. ANSWER: This library contained the socket stuff, when X386 V0.1 was
  6095. released. Meanwhile it has found it's way into the kernel, so
  6096. remove -lobz from the link step in the Makefile. Any program
  6097. asking for libobz needs to be recompiled anyway.
  6098.  
  6099.  
  6100.  XII.34)  I get _setjmp undefined when linking xv from .a files.
  6101.  
  6102. ANSWER: You are trying to link a program compiled with gcc-2.2.2
  6103. and setjmp has changed sice then. Recompile xv from the source
  6104. using the latest gcc.
  6105.  
  6106.  
  6107.  XII.35)  How do I compile an X application that has an Imakefile?
  6108.  
  6109. ANSWER:
  6110.  Type xmkmf to generate the Makefile.
  6111.  Type make.
  6112.  
  6113.  
  6114.  XII.36)  How do I compile a program that has no Imakefile?
  6115.  
  6116. ANSWER: Use compiler options generated with programs that do have
  6117.  Imakefiles. Look in XLIB/config/ for the linux definitions.
  6118.  In particular you need -fwritable-strings.
  6119.  
  6120.  XII.37)  gcc complains the X libraries are not found or links static.
  6121.  
  6122. ANSWER: Check out the -nojump -static options of GCC ... read the GCC FAQ.
  6123.  You can tell gcc what directories to search with -L. 
  6124.  
  6125.  
  6126.  XII.38)  When using Makefiles generated by xmkmf why do I get many error 
  6127.  messages?
  6128.  
  6129. ANSWER: The old xmkmf under Linux doesn't like # comments in Imakefiles. 
  6130. Therefore you must change the #'s to XCOMM. But be careful. Don't change
  6131. any pre-compiler directives. (mal11@po.CWRU.Edu  Matthew A. Lewis)
  6132.  
  6133.  XII.39)  (Ton van Rosmalen wrote):
  6134. I recently compiled XFree86 1.2A for Linux and it compiled fine with
  6135. gcc-2.3.3 and libc-4.3.3 iff I skipped the make depend.
  6136.  
  6137. ANSWER: (Rik Faith)
  6138. The source for ed.c is available from (Linux binaries are in utilb13.taz)
  6139. ftp.cs.unc.edu:/pub/faith/linux/utils/utilb-1.3.src.tar.Z 
  6140. This version of ed.c has a 4096 character line limit and will work
  6141. correctly when building XFree86 under Linux.
  6142.  
  6143.  
  6144.  XII.40)  What are the  development tools available for X under Linux?
  6145.  
  6146. ANSWER: Some of the X development packages available on Linux:
  6147. (XS = sunsite.unc.edu pub/Linux/X11)
  6148. (Contact the people who distribute them in case of problems.)
  6149.  
  6150. Libraries: 
  6151. Xpm, tiff .. are in XS/libs/. If you are compiling a package 
  6152. that uses these libraries it is best to pick up the standard DLLs.
  6153. hooft@chem.ruu.nl, mitchum.dsouza@mrc-apu.cam.ac.uk
  6154. (Some older libraries are in XS/libs/oldlibs).
  6155.  
  6156. Interviews: SLS package
  6157. Shared libraries are not yet available so doc ~1M, idraw ~1.5M, ibuild?
  6158.  
  6159. KHOROS:
  6160. This is the second release of my patches (~15K XS/xapps) to the Khoros 
  6161. system for image processing. If you want to compile it, you 
  6162. need Khoros 1.0, patchlevel 5 (source distribution) and up to 100MB 
  6163. free disk space (including package 0.).  
  6164. Wolfram Gloger wmglo@dent.med.uni-muenchen.de Apr 04 1993.
  6165.  
  6166. MOTIF XS/$$$:-)
  6167. Metro Link, Inc. is pleased to announce the availability of OSF/Motif 1.2.2 
  6168. for Linux at the introductory price of $199 for a complete runtime and 
  6169. development system (shared libs, UIL, source for some demos + 1 Orielly book). 
  6170. You can order OSF/Motif 1.2.2 for Linux by calling Metro Link,Inc. at 
  6171. (305) 970-7353 (voice) or (305) 970-7351 (fax) or by mailing us at 
  6172. sales@metrolink.com.
  6173.  
  6174. SUIT: XS/devel
  6175. Simple User Interface Toolkit. 
  6176. Included are shared libs and static libs. Compiled with the SLS kit.
  6177. To use these shared libs you need libX11 3.0 and libc 4.3.
  6178. Rob Robert-Jan Kooper rob@is.twi.tudelft.nl kooper@dutiws.twi.tudelft.nl
  6179.  
  6180. tk+tcl: XS/devel
  6181. Here is tk3.0 and tcl6.5 sources and libraries. Compiled this with gcc2.3.3
  6182. I have also included the wish (X11) binary.  
  6183. Mitch mitchum.dsouza@mrc-apu.cam.ac.uk  mitch%markab@mrc-apu.cam.ac.uk 
  6184.  
  6185. xview: XS/devel
  6186. New libxview.a and libolgx.a that correct some problems with the
  6187. ones found in SLS (and maybe in the other xview releases, I don't know).
  6188. Kenneth Osterberg ??
  6189.  
  6190.  
  6191. XII.H ATI: SVGA server for ATI boards.
  6192. ~~~~~~~~~
  6193. Last Revised: Mon May 10 15:17:57 1993 by faith@cs.unc.edu
  6194.  
  6195.  
  6196.  XII.41)  What's new?
  6197.  
  6198. ANSWER:
  6199. For XFree86 version 1.2 (and later versions), there are two changes to the
  6200. extregPlusXLAndOrMasks table:
  6201.  
  6202. 1) ER_B0 was changed from 0x28 to 0x31.  (In the Linux world, this was
  6203. distributed as a binary patch long ago.)
  6204.  
  6205. 2) ER_BE was changed from 0x08, but only for cards EARLIER than the
  6206. 28800-5.
  6207.  
  6208. Both of these changes allow more 28800-4 cards to work, although either one
  6209. may be sufficient for any one card.  You can find these changes in the
  6210. driver by searching for the Feb 3 timestamps.
  6211.  
  6212.  
  6213.  
  6214.  XII.42)  What is the ATI SVGA driver?
  6215.  
  6216. ANSWER:
  6217. The ATI SVGA driver is a 256 color driver for the XFree86 server.  The
  6218. driver was written for the ATI WONDER series of graphics adapters.  In
  6219. general, the following modes are supported for cards with 512kb of memory:
  6220.  
  6221. 640x480x256
  6222. 600x800x256
  6223.  
  6224. The following modes are supported for cards with 1024kb of memory:
  6225.  
  6226. 1024x768x256
  6227.  
  6228.  
  6229.  
  6230.  XII.43)  What is the ATI SVGA driver *NOT*?
  6231.  
  6232. ANSWER:
  6233. The ATI SVGA driver is *NOT* a black and white (2 bit) driver.  Therefore,
  6234. it will *NOT* work with the XFree86 monoserver.
  6235.  
  6236. The ATI SVGA driver is *NOT* a 16 color driver.  Even though your manual
  6237. says that your graphics adapter has a 1024x768x16 mode, the ATI SVGA driver
  6238. will *NOT* use this mode.  If you want to use 1024x768, you *MUST* have 1MB
  6239. of memory on your board and use the 1024x768x256 mode.
  6240.  
  6241. The ATI SVGA driver will *NOT* support more than 8 bits of pixel depth.
  6242. Therefore, even though your manual says that your graphics adapter supports
  6243. modes using more than 256 colors, the ATI SVGA driver will *NOT* use these
  6244. modes.
  6245.  
  6246. The ATI SVGA driver is *NOT* an accelerated driver.  If you have an ATI
  6247. GRAPHICS ULTRA series card, the ATI SVGA driver will *NOT* use the
  6248. accelerated hardware.  It will only use the SVGA hardware.  This will
  6249. probably not be any faster than a VGA WONDER card, unless the card is on a
  6250. local bus (and then, it won't be faster than a VGA WONDER card on a local
  6251. bus, if a card of this type existed).
  6252.  
  6253.  
  6254.  
  6255.  XII.44)  What cards will the driver work with?
  6256.  
  6257. ANSWER:
  6258. This is a difficult question, because there are many different ATI video
  6259. cards, and it is sometimes difficult to tell them apart.  The best way is
  6260. to look on the card itself for the ATI chip numbers.  Here is a partial
  6261. list of ATI VGA WONDER cards.  The MOST IMPORTANT number is the CHIP
  6262. VERSION.
  6263.  
  6264. Adapter version     Dot clock       Chip version
  6265.  
  6266. VGA WONDER V3                       ATI18800        NOT SUPPORTED
  6267. VGA WONDER V4                       ATI18800-1      NOT SUPPORTED
  6268. VGA WONDER V5       ATI18810        ATI18800-1      NOT SUPPORTED
  6269. VGA WONDER + (V6)   ATI18810        ATI28800-2      ? MAY WORK ?
  6270. VGA WONDER (1 MB)   ATI18810        ATI28800-4      SUPPORTED
  6271. VGA WONDER (1 MB)   ATI18810        ATI28800-5      SUPPORTED
  6272. VGA WONDER XL       ATI18810        ATI28800-5      SUPPORTED
  6273.  
  6274. Note that the ATI SVGA driver code has hooks and some support for all of
  6275. the cards listed.  However, with the earlier cards, there are serious
  6276. differences in the programmer's interface.  The only people who have ever
  6277. worked on the code have had 28800-4 and 28800-5 chips, so these chips are
  6278. the only ones that are actually known to work.
  6279.  
  6280. The ATI GRAPHICS ULTRA chips seem to have SVGA support which is equivalent
  6281. to the 28800-4, 28800-5, and 28800-a, although I can find no documentation
  6282. on this in the technical manuals provided by ATI.  The ULTRA PLUS and ULTRA
  6283. PRO boards have been tested to some extent, and seem to work fine, but the
  6284. original ULTRA may have some problems at greater than 640x480 resolution.
  6285.  
  6286.  
  6287.  
  6288.  XII.45)  What should I put in my Xconfig file?
  6289.  
  6290. ANSWER:
  6291. THE MOST IMPORTANT LINE IS THE CLOCKS LINE:
  6292.  
  6293.   Clocks        18 22 25 28 36 44 50 56
  6294.                 30 32 37 39 40 0  75 65
  6295.  
  6296. The first row of clocks is usable on all VGA Wonder cards.  The second row
  6297. is usable only on V5, PLUS, and XL cards (28800-2, 28800-4, and 28800-5).
  6298. However, you should include *BOTH* rows for *ALL* cards.
  6299.  
  6300. The specification is different from the specification used with the ET-4000
  6301. cards.  Programs with claim to detect the clocks usually work only with
  6302. ET-4000 based cards.  No such program exists for the ATI cards, since it
  6303. isn't needed.  THE CLOCKS LINE SHOULD NEVER BE CHANGED.  The order of
  6304. numbers in the clocks line *is* significant.
  6305.  
  6306. The actual frequencies, which can be used to calculate the ModeDB lines,
  6307. are as follows:
  6308.  
  6309. 18 = 18.000
  6310. 22 = 22.450
  6311. 25 = 25.175
  6312. 28 = 28.320
  6313. 36 = 36.000
  6314. 44 = 44.900
  6315. 50 = 50.350
  6316. 56 = 56.640
  6317.  
  6318. 30 = 30.240
  6319. 32 = 32.000
  6320. 37 = 37.500
  6321. 39 = 39.000
  6322. 40 = 40.000
  6323.  0 = 56.640
  6324. 75 = 75.000
  6325. 65 = 65.000
  6326.  
  6327. The Chipset will be automatically detected.  The chipset name for this
  6328. driver is "ati".
  6329.  
  6330. Here is a sample Xconfig (which I use):
  6331.  
  6332. RGBPath  "/usr/lib/X11/rgb"
  6333. FontPath "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/"
  6334.  
  6335. Keyboard
  6336.   AutoRepeat 500 5
  6337.   ServerNumLock
  6338.  
  6339. #Microsoft "/dev/mouse"
  6340. #MouseSystems "/dev/mouse"
  6341. #MMSeries "/dev/mouse"
  6342. #Logitech "/dev/mouse"
  6343. #MouseMan "/dev/mouse"
  6344. Busmouse "/dev/mouse"
  6345. #  BaudRate 1200
  6346.   SampleRate 150
  6347. #  Emulate3Buttons
  6348.  
  6349.  
  6350. vga256
  6351.   ViewPort      0 0
  6352.   #Modes  "1024x768v" "800x600v"
  6353.   Modes         "800x600v"
  6354.   Clocks        18 22 25 28 36 44 50 56
  6355.                 30 32 37 39 40 0  75 65
  6356.   Displaysize   260 184
  6357.  
  6358. ModeDB
  6359.  
  6360. # From NEC MultiSync 3FGx manual (copied by faith@cs.unc.edu)
  6361. # active_area front_porch pulse_width back_porch for horiz and vert
  6362. # VESA 640x480 at 72Hz (37.860kHz)
  6363. # 20.317us 0.762us 1.270us 4.603us; 12.678ms 0.238ms 0.079ms 0.740ms
  6364. # (I couldn't find a good clock rate for this one)
  6365. # VESA 800x600 at 72Hz (48.077kHz)
  6366. # 16.000us 1.120us 2.400us 1.280us; 12.480ms 0.770ms 0.125ms 0.478ms
  6367. "800x600v"   50      800  856  976 1040    600  637  643  693
  6368. # VESA 1024x768 at 60Hz (48.363kHz)
  6369. # 15.754us 0.369us 2.092us 2.462us; 15.880ms 0.062ms 0.124ms 0.600ms
  6370. "1024x768v"  65    1024 1048 1184 1344    768  771  777  806
  6371.  
  6372.  
  6373.  
  6374.  XII.46)  What is the history of the driver?
  6375.  
  6376. ANSWER:
  6377. The complete history of the driver is cloudy.  I have tried to reconstruct
  6378. the history from several email messages from a few of the people involved.
  6379. The history is probably incomplete and inaccurate.
  6380.  
  6381. Apparently, Per Lindqvist (pgd@compuram.bbt.se) first got an ATI driver
  6382. working with an early ATI card under X386 1.1a.  (This original driver may
  6383. have actually been based on an non-functional ATI driver written by Roell.)
  6384. Then Doug Evans (dje@cygnus.com) ported the driver to the ATI XL, trying in
  6385. the process to make the driver work with all other ATI cards.
  6386.  
  6387. I (Rik Faith) obtained the X11R4 driver from Doug Evans in the summer of
  6388. 1992, and ported the code to the X386 part of X11R5.  This subsequently
  6389. became part of XFree86.  Per and Doug did the majority of work, making the
  6390. port somewhat trivial.  I am grateful for their contribution.
  6391.  
  6392. The port to X11R5 required writing the ATIProbe and ATIEnterLeave routines,
  6393. and re-organizing the ATISave and ATIRestore routines.  Someone else added
  6394. the operating system specific code, but I don't know who.
  6395.  
  6396. The major reference that I used was manual from ATI:
  6397.  
  6398. "VGA WONDER Programmer's Reference"
  6399. ATI Technologies, 1991.
  6400. Release 1.2 -- Reference #PRG28800
  6401. (Part No. 10709B0412)
  6402.  
  6403. However, Chapter 11 (ATI 18800 ATI VGAWONDER) of George Sutty and Steve
  6404. Blair's "Advanced Programmer's Guide to SuperVGAs" (Brady/Simon & Schuster,
  6405. 1990) was also useful.  Further, someone e-mailed be a random document from
  6406. the ATI BBS which was dated 3Jul91 and which may have been named
  6407. PROGINFO.DOC.
  6408.  
  6409.  
  6410.  
  6411.  XII.47)  What is the future of the driver?
  6412.  
  6413. ANSWER:
  6414. I no longer use an ATI Wonder card and have no interest in this driver.
  6415. Since I have received no bug reports or patches for the driver during the
  6416. past 3 months, I think it is about as stable as it is going to get.  (I
  6417. suspect that support for the 28800-2, 28800-4, and 28800-5 chips can be
  6418. made more robust, but I doubt that the other chips will ever be fully
  6419. supported.)
  6420.  
  6421. I have absolutely *NO* intention of porting the code to the mono or 16
  6422. color servers.  If *you* want ATI support in the mono or 16 color servers,
  6423. they *you* should do the port.  (Since I no longer use my ATI Wonder card,
  6424. please feel free to take over the current driver as well.)
  6425.  
  6426.  
  6427.  
  6428.  
  6429. XII.I BUGS:
  6430. ~~~~~~~~~~~
  6431.  
  6432. Restoration of the text screen fails on some hardware. You can
  6433. get the program runx from the vgalib distribution (tsx-11
  6434. pub/linux/sources/libs/). Report the problem to the xfree86 team.
  6435.  
  6436. Cant compile Xaw programs without -static in versions x11v1.1 or older.
  6437.  
  6438. Fix for missing numlock control in xfree86-1.1.
  6439. use xmodmap to change the mapping:
  6440.   clear mod1
  6441.   add mod1 = Alt_L
  6442.   keysym Alt_R = Mode_switch
  6443.   add mod5 = Mode_switch
  6444. David (Dawes)
  6445.  
  6446.  
  6447.  
  6448. Sources for X11_FAQ: 
  6449. Steve Kotsopoulos, Peter Hawkins, John Morris, MM. Corsini, 
  6450. K. Balasubramanian. 
  6451. Direct comments, questions, complaints to krishna at:
  6452. balasub@cis.ohio-state.edu
  6453.  
  6454.  
  6455.  
  6456. XIII. NETWORKING and LINUX
  6457. ============================
  6458. *** This section should be maintained by Philip Copeland
  6459. *** (p_copela@csd.uwe.ac.uk). 
  6460.  
  6461.  
  6462. XIII.01)  Where can I find useful information about networking for
  6463. Linux ?
  6464.  
  6465. ANSWER: Join the NET channel of the mailing list. Also, you need to
  6466. read the NET-FAQ by Phil Copeland, it's on sunsite and tsx-11 and
  6467. posted to c.o.l and the NET channel every couple of weeks.
  6468.  
  6469. Basically, all of the information on networking and TCP/IP for Linux
  6470. is in the NET-FAQ, because it's maintained seperately than this
  6471. document (and we don't want to waste the space reprinting it all
  6472. here--- it's big!).
  6473.  
  6474. The NET-FAQ has been completely rewritten as of Feb 1993. Get the new
  6475. version. 
  6476.  
  6477.  
  6478.  
  6479. XIV.  EVERYTHING FOR PRINTING
  6480. =============================
  6481. **** This is the lpd FAQ version 1.2 (last update 1st june), this
  6482. **** section is maintained by Brian McCauley. Please send any
  6483. **** suggestion to: B.A.McCauley@bham.ac.uk
  6484.  
  6485.  XIV.01)  What _is_ the lpr/lpd package?
  6486.  
  6487. ANSWER: To quote the net-FAQ:
  6488.  
  6489. Lpr is a utility that is used to print files out to local and remote
  6490. printers. As with all networking, there are configuration files which
  6491. have to be tailored to your needs. These files are concerned with
  6492. access control, accounting and page setup of your printer(s).  Now all
  6493. control of the printer is performed by a process called lpd
  6494.  
  6495. Lpd is a laser printer daemon (yes I know an epson isn't a laser
  6496. printer but thats besides the point). The program lpd is normally
  6497. started in /etc/rc.local in either the forground or the background.
  6498. What happens is that lpd will sink back as a daemon, only ever being
  6499. invoked when a printer request is generated. lpd itself has some
  6500. options which are of possible intrest to some people chiefly that of
  6501. the '-l' flag which causes lpd to log requests recieved from the
  6502. network (useful for debugging). The other option is for what port lpd
  6503. should listen for data on and is generally not used.
  6504.  
  6505. [ Note: lp really stands for line printer but as technology has
  6506. advanced laser printer makes more sense. ]
  6507.  
  6508.  
  6509.  XIV.02)  What is _the_ Linux lpr/lpd ?
  6510.  
  6511. ANSWER: Up until 28th May 1993, as far as there is a definitive Linux
  6512. version of anything _the_ Linux lpr/lpd is <bir7@leland.stanford.edu>
  6513. Ross Biro's port of the BSD sources dated 20th November 1992 (so if
  6514. you're used to AT&T's you'll find some differences).  Ross's binaries
  6515. and the diffs are found in:
  6516.  
  6517. tsx-11.mit.edu:pub/linux/binaries/usr.bin/lpr.tar.Z
  6518. sunsite.unc.edu:pub/Linux/system/Daemons/lpr.tar.Z
  6519.  
  6520. The SLS file lpr.tgz on disk b2 contains the same stuff.
  6521.  
  6522. However this is all about to change so from now on this version will
  6523. be called the "old" binaries. As of 28th May 1993 there appears be two
  6524. different new releases of lpd expected RSN.
  6525.  
  6526. In addition to the standard BSD lpr capabilities Ross Biro's port
  6527. should have had better support for serial printers (but it didn't work
  6528. in the old binaries).
  6529.  
  6530. Ross's port was not based on the latest BSD sources (by about 3 years,
  6531. '88 vs '91). His new release will also be based on these sources which
  6532. can be found are at:
  6533.  
  6534. gatekeeper.dec.com and /afs/ir.stanford.edu/src/...
  6535.  
  6536. Recent BSD sources are all over the place.
  6537.  
  6538. ftp.uu.net:systems/unix/bsd-sources/usr.sbin/lpr
  6539. src.doc.ic.ac.uk:unix/bsd-sources/usr.sbin/lpr
  6540.  
  6541. to name but two. The BSD sources have unGNU things in their Makefiles
  6542. so they don't compile ``out of the box'' but have now been ported by
  6543. <waltje@uWalt.NL.Mugnet.ORG> Fred van Kempen and will be available RSN
  6544. (if not now) as part of the complete overhall of the Linux Net stuff.
  6545.  
  6546. Ross agrees that Fred's version should be thought of as _the_ Linux
  6547. lpd package. I <B.A.McCauley@bham.ac.uk> have not had a chance to look
  6548. at Fred's port yet (I'm waiting for the full release of 0.99pl10
  6549. before I update anything) but most of this FAQ refers to the BSD lpd
  6550. package or Linux in general so this is probably not too important.
  6551.  
  6552. There are some other versions of lpd stuff about but I have to draw
  6553. the line somewhere. If anyone whants to maintain FAQ sections on these
  6554. they are welcome to do so. The other versions include plp and the ka9q lp
  6555. facility. There are also romours of SysV spoolers being ported.
  6556.  
  6557.  
  6558.  XIV.03)  How do I get lpr to work properly other than for root? Where
  6559. do the files go and what should their permissions be?
  6560.  
  6561. ANSWER: Put /etc/lpd& in your /etc/rc or /etc/rc.local (usually in
  6562. /etc/rc.local after you start syslogd (if you use syslogd)).
  6563.  
  6564. Set the group fields of the file permissons/ownership as follows:
  6565.  
  6566. -rwxr-s---   1 root     daemon      37892 Nov 19 23:32 /etc/lpd
  6567. -rwx--s--x   1 root     daemon      21508 Nov 19 23:32 /usr/bin/lpc
  6568. -rws--s--x   1 root     daemon      17412 Nov 19 23:32 /usr/bin/lpq
  6569. -rwx--s--x   1 root     daemon      17412 Nov 19 23:32 /usr/bin/lpr
  6570. -rwx--s--x   1 root     daemon      17412 Nov 19 23:32 /usr/bin/lprm
  6571.  
  6572. ...and for each of the spool directories listed in the sd fields of
  6573. /etc/printcap... 
  6574.  
  6575. /usr/spool/lp1:
  6576. total 5
  6577. drwxrwxr-x   2 root     daemon       1024 May 18 23:00 .
  6578. drwxr-xr-x  11 root     root         1024 Feb 19 20:56 ..
  6579. -rw-rw-r--   1 root     daemon          4 May 18 23:00 .seq
  6580. -rw-rw-r--   1 root     daemon         18 May 18 23:00 lock
  6581. -rw-rw-r--   1 root     daemon         25 May 18 23:00 status
  6582.  
  6583. Note these 3 files are created by lpr and lpd so if you've never
  6584. run these they could be missing so touch them into being.
  6585.  
  6586. Some of these permissions may be overkill so don't be surprised if
  6587. your system works with different permissions. The fact that lpq needs
  6588. to be suid root is inelegant and may change in the future.
  6589.  
  6590. Alternative approach: just make lpc, lpr and lprm setuid(root) then
  6591. you can forget the file permissions on the spool queues!
  6592.  
  6593. You're free to choose different directories for the executables on
  6594. your system (notably lpc is often in /etc even though it has commands
  6595. that are useful to non-root). The master lpd lock file which is always
  6596. in /usr/spool/ so you must have one of those but you needn't
  6597. necessarily keep your spool queues there.
  6598.  
  6599. The main configuration file is /etc/printcap although the old binaries
  6600. look for it in /usr/etc/lpd.  The README says hosts.equiv and
  6601. hosts.lpd files are looked for in /etc/inet but again the more
  6602. accepted convention is to locate them in /etc.
  6603.  
  6604. For an simple life:
  6605.  
  6606. mv -i /usr/etc/inet/* /etc/inet/* /usr/etc/* /etc/
  6607. rmdir /usr/etc/inet /etc/inet /usr/etc
  6608. ln -s ../etc /usr/etc
  6609. ls -s . /etc/inet
  6610.  
  6611. [But make sure the files in /usr/etc and /etc/inet are not already
  6612. symlinks into /etc or you'll be in deep water.]
  6613.  
  6614. Eventually you'll be able to delete these symlinks once you've got rid
  6615. off all the old stuff.
  6616.  
  6617.  
  6618.  XIV.04)  Why do I sometimes see /usr/etc or /etc/inet or /usr/etc/inet?  
  6619.  
  6620. ANSWER: For various reasons including the difficulties of fsck'ing /
  6621. some people like to put all things that aren't needed during bootstrap
  6622. in /usr so that / is as small as possible. Also some people like all
  6623. their internet stuff in /etc/inet. Most Linux gurus advise keeping it
  6624. all in /etc.
  6625.  
  6626. If you really want this quirky layout:
  6627.  
  6628. cd /etc
  6629. ls -s ../usr/etc/* .
  6630. ls -s inet/* .
  6631.  
  6632. [Make sure the files in /usr/etc and /etc/inet are not already
  6633. symlinks into /etc.]
  6634.  
  6635.  
  6636.  XIV.05)  Where do I get a printcap for a xxxxx?
  6637.  
  6638. ANSWER: This question is essentially meaningless - see next question.
  6639.  
  6640.  
  6641.  XIV.06)  What is the content of /etc/printcap?
  6642.  
  6643. ANSWER: Given the similarity in appearence and name between
  6644. /etc/termcap and /etc/printcap one could be forgiven for assuming that
  6645. they contain analogous infomation. This is not the case. Whereas
  6646. termcap contains informations about terminal *types* - (mostly escape
  6647. seqences) printcap contains information about *specific* printers
  6648. (like the directory that holds the spool queue and the device name of
  6649. the printer). The information about a printer model's escape sequences
  6650. and so on are held in the various filters which are _programs_ called
  6651. by lpd to drive the printer. /etc/printcap simply gives the locations
  6652. of these filters.  For details RTFM(printcap). [Alternatively the
  6653. net-FAQ has a summary of some of the more important fileds.]. One last
  6654. point you should always specify ``suppress header'' ``:sh:'' unless
  6655. you have _text_ printer and want banners. (See the banners question
  6656. for further expanation).
  6657.  
  6658.  
  6659.  XIV.07)  What is the format of a /etc/printcap?
  6660.  
  6661. ANSWER: Ideally RTFM(termcap) (yes, I said *termcap*) but since most
  6662. people don't have TFM(termcap) here are the essentials.
  6663.  
  6664. Lines starting # are comments (as you might have guessed).
  6665.  
  6666. For each printer usable from the lpr command on your system there is
  6667. one logical line in the file. For the sake of readability each logical
  6668. line may be spread over several physical lines by making the last
  6669. character on all but the last physical line a backslash.
  6670.  
  6671. Each logical line has the following format:
  6672.  
  6673. name1|name2|name3:string_capability=string:\
  6674.        :numeric_capability#number:boolean_capability:
  6675.  
  6676. The leading spaces and colon on the second line are for readability
  6677. only.
  6678.  
  6679. A printer can have as many names as you like but conventionally the
  6680. final name is used as a longhand description of the printer. (Still
  6681. people are free to say `lpr -P "Fred's grotty teletype"' if that's
  6682. the description you've given.)
  6683.  
  6684. The list of capabilities can be as long as needed and the order is not
  6685. significant. Each ``capability'' is denoted by a two character code.
  6686. (The name ``capability'' comes form the file format's termcap heritage
  6687. - parameter or attribute would be a more sensible terms.) [Note from
  6688. Ross Biro: capabilities with 3 character names don't work properly
  6689. which is why the serial port stuff in the old binaries failed.]
  6690. Capabilities having string value and have a = delimiter between the
  6691. capability name and the value while those having a numeric value use a
  6692. # (actually they can use either a # or an =). Boolean ``capablilties''
  6693. are true if they appear in the list and false if they do not.
  6694.  
  6695. Special characters in a string value can be expressed using `\'-escape
  6696. sequences as in C; in addition, `\E' stands for ESC.  `^' is also a
  6697. kind of escape character; `^' followed by CHAR stands for the
  6698. control-equivalent of CHAR.  Thus, `^a' stands for the character
  6699. control-a, just like `\001'.  `:', `\' and `^' themselves can be
  6700. represented as `\:', `\\' and `\^'.
  6701.  
  6702. Example:
  6703.  
  6704. lp|bam|BAM's Epson FX-80:lp=/dev/lp1:sd=/usr/spool/lp1:sh:mx#0:\
  6705.  :df=/usr/local/lib/magic-filter/lp.df:\
  6706.  :if=/usr/local/lib/magic-filter/lp.if:
  6707.  
  6708. Name is lp (this is the printer that lpr uses by default). It's also
  6709. known as bam or "BAM's Epson FX-80".
  6710.  
  6711. The printer is on /dev/lp1 (aka AT-bus LPT1:). I don't want a burst
  6712. page. I don't want a file length limit. Files queued by `lpr -d' are
  6713. passed through /usr/local/lib/magic-filter/lp.df and those queued by
  6714. `lpr' through /usr/local/lib/magic-filter/lp.lf.
  6715.  
  6716. See also the next question.
  6717.  
  6718.  
  6719.  XIV.08)  My /etc/printcap looks identical to someone else's but it
  6720. doesn't work - why?
  6721.  
  6722. ANSWER: See if lpc stat reports a printer called ` :'. The last
  6723. character on a continued line must be a \. If there are whitespace
  6724. characters after the \ then it doesn't register the next line as a
  6725. continuation.
  6726.  
  6727.  
  6728.  XIV.09)  What's the minimum /etc/printcap?
  6729.  
  6730. ANSWER: This is a silly question but it _is_ frequently asked. The
  6731. answer is ``lp:sh'' (that's 6 bytes including the linefeed character
  6732. on the end). To use this /etc/printcap you must make /dev/lp a symlink
  6733. to your printer and create your spool queue directory as
  6734. /usr/spool/lpd.  (You might think that if you wanted banner pages you
  6735. could loose the ``:sh'' but the termcap syntax requires at least one
  6736. charateristic per entry).
  6737.  
  6738.  
  6739.  XIV.10)  How do I prevent the `staircase effect'?
  6740.  
  6741. ANSWER: Unix terminates each line of a file with a linefeed but not a
  6742. carriage return so taken literally a Unix text file printed on an
  6743. ASCII device will start each line below the end of the previous line.
  6744. Some printers can be set to treat "linefeed" as "carriage return,
  6745. linefeed", others can't. If yours can then do simply do that. If the
  6746. printer cannot be fixed create a shell script filter that reads:
  6747.  
  6748. #!/bin/sh
  6749. if [ $1 = -c ]; then
  6750.   cat
  6751. else
  6752.   sed -e s/$/^M/
  6753. fi
  6754. echo -ne \\f
  6755.  
  6756. where ^M is a carriage return character not a ^ followed by a M.  To
  6757. type ^M in emacs use the sequence C-q C-m and in vi use C-v C-m.
  6758. Conventionally this script is called /usr/lib/lpf. The test of $1
  6759. allows the isertion of carriage returns to be switched off by the `-l'
  6760. switch on lpr.
  6761.  
  6762. Alternatively your printer may have an escape sequence that will set
  6763. the way it handles linefeed characters. A simple filter that uses an 
  6764. `echo -ne' command to send this sequence may be appropriate.
  6765.  
  6766. #!/bin/sh
  6767. # Filter for HP printers to treat LF as CRLF  
  6768. echo -ne \\033\&k2G
  6769. cat
  6770. echo -ne \\f
  6771.  
  6772. [ Ross Biro's new release will include a filter called lpof that does
  6773. this. ]
  6774.  
  6775.  
  6776.  XIV.11)  How do I get my printer to go back to the default font after
  6777. each printout?
  6778.  
  6779. ANSWER: Define the `tr' ``capability'' in /etc/printcap to be your
  6780. printer's font reset command. For details of the format of this string
  6781. see the question on the format of printcap. This may not work if a
  6782. printout crashes in the middle of an escape sequence - putting a lot
  6783. of ^@ on the front may help but this probably won't be enough it you
  6784. were printing raster graphics when the filter died.
  6785.  
  6786.  
  6787.  XIV.12)  How do I prevent a formfeed at the end of every printout?
  6788.  
  6789. ANSWER: If you don't have an `if' specified in /etc/printcap then lpd
  6790. will automatically put a formfeed at the end of each file. If you're
  6791. using a filter then it's up to the filter to decide if it wants to put
  6792. a formfeed. To disable formfeed completely if you don't have an `if'
  6793. put :ff=: in your /etc/printcap.  But please note this suppresses the
  6794. formfeed that would usually be printed if a filter dies. If you want
  6795. formfeeds after text printouts but not on printouts printed with `lpr
  6796. -l' then create the following `if' filter:
  6797.  
  6798. #!/bin/sh
  6799. cat
  6800. if [ "$1" != -c ]; then
  6801.   echo -ne \\f
  6802. fi
  6803.  
  6804. If you want a formfeed after `lpr -l' to be optional you can misuse the
  6805. `-i' switch to suppress the formfeed with the following trick (after
  6806. all `lpr -i -l' would usually not be implemented).
  6807.  
  6808. #!/bin/sh
  6809. cat
  6810. # use lpr -i -l to print raw without trailing formfeed
  6811. if [ "$1" != -c -o "$4" = -i0 ]; then 
  6812.   echo -ne \\f
  6813. fi 
  6814.  
  6815.  
  6816.  XIV.13)  How do I get burst/banner pages?
  6817.  
  6818. ANSWER: For a simple text printer (in particular not postscript) and a
  6819. simple text banner simply take :sh: out of the printcap record. If you
  6820. want to prevent the banner comming out in whatever font was last used
  6821. on the printer then define the `tr' ``capability'' to be your
  6822. printer's font reset command.
  6823.  
  6824. If you want a fancy cusomised banner (or have a postscript printer)
  6825. leave :sh: in the printcap and make each of your filters print the
  6826. banner. All the information to put on the banner is included in the
  6827. filter's positional parameters.  RTFM(printcap) for details. [ If
  6828. you're using <B.A.McCauley@bham.ac.uk>'s magic-filter package then
  6829. call the code to print the banners from the config script. ]
  6830.  
  6831.  
  6832.  XIV.14)  How do I print text on a ps printer?
  6833.  
  6834. ANSWER: You need a filter based on a program called enscript. I don't
  6835. know where you can get enscript for Linux.
  6836.  
  6837.  
  6838.  XIV.15)  Why do files with a lot of graphics get truncated?
  6839.  
  6840. ANSWER: Usually because you've got a limit set on the maximum size
  6841. file that can sit in the spool queue. Put `mx#0' in your printcap.
  6842.  
  6843.  
  6844.  XIV.16)  Why doesn't `lpr -i' work?
  6845.  
  6846. ANSWER: To get lpr -i to work you need a filter istalled as `if' that
  6847. implements it. The -i switch is simply passed on by lpd to the filter.
  6848. There is such a filter called /usr/lib/lpf that can be opdtained from
  6849. bsd source archives in the directory bsd-source/lpr/filters.
  6850.  
  6851.  
  6852.  XIV.17)  Why doesn't `lpr -p' work?
  6853.  
  6854. ANSWER: Because its broken in the '88 sources from which the old binaries were
  6855. compiled.  lpd always thinks that the printer is 0 characters wide
  6856. regardless of what printcap says.
  6857.  
  6858.  
  6859.  XIV.18)  Why does lprm say `too many users'?
  6860.  
  6861. ANSWER: This was a bug in the C library in the scandir() function which failed
  6862. when an unsorted directory list was requested. This has been fixed now
  6863. so just get a new libc.so. Alternatively there is a lprm with a
  6864. workround (by toy@soho.crd.ge.com) in:
  6865.  
  6866. sunsite.unc.edu:/pub/Linux/system/Daemons/lprm-fix.tar.z
  6867.  
  6868.  
  6869.  XIV.19)  Why does lpc complain that it hasn't stopped a daemon?
  6870.  
  6871. ANSWER: There's one lpd process that runs all the time and it spawns
  6872. off children to handle each printer as needed. These children leave
  6873. lock files lying about so lpc thinks that they are still running and
  6874. tries to kill them. This is probably a bug but it's not serious.
  6875.  
  6876.  
  6877.  XIV.20)  How do I print over a Network?
  6878.  
  6879. ANSWER: To print on the printer "foo" connected to the machine
  6880. "bar.baz.net" from the machine "mine.baz.net" you put an entry like
  6881. this in your /etc/printcap (on mine.baz.net):
  6882.  
  6883. foo:lp=:rm=bar.baz.net:rp=foo:sd=/usr/lpd/spool/foo:
  6884.  
  6885. and, of course, create the spool directory /usr/lpd/spool/foo.
  6886.  
  6887. There's no point specitying filters and the like in
  6888. mine.baz.net:/etc/printcap as it's the one in
  6889. bar.baz.net:/etc/printcap that will get used.
  6890.  
  6891. On the machine bar.baz.foo, you need to put "mine.baz.net" on a line
  6892. by itself in either /etc/hosts.equiv or /etc/hosts.lpd; note that
  6893. putting it in /etc/hosts.equiv will allow for unauthenticated logins as
  6894. well as printing.  /etc/hosts.lpd is printing only.
  6895.  
  6896. [ Editors note: I realise there are more questions about net printing
  6897. but I don't know them. If you find any let me know (with answers if
  6898. possible). See also the net FAQ ]
  6899.  
  6900.  
  6901.  XIV.21)  Which /dev/lp* is my printer?
  6902.  
  6903. ANSWER: On an XT bus system LPT1: becomes /dev/lp0 (major=6, minor=0),
  6904. on an AT LPT1: becomes /dev/lp1 (major=6, minor=1). To be more
  6905. precise:
  6906.  
  6907. Name Major Minor I/O address
  6908.  lp0   6     0       0x3bc
  6909.  lp1   6     1       0x378
  6910.  lp2   6     2       0x278
  6911.  
  6912.  
  6913.  XIV.22)  When the kernel boots it says `using polling driver,' is
  6914. there an interrupt driven driver?
  6915.  
  6916. ANSWER: Yes the latest kernels support parrallel port IRQs but to
  6917. enable them you must use `lpcntl'. The interrupt driver uses less
  6918. processor time and gives a faster throughput but sometimes one may
  6919. choose sacrifice this to free up an IRQ line. If your printer is
  6920. /dev/lp1 using IRQ 7 put:
  6921.  
  6922. /etc/lpcntl /dev/lp1 7
  6923.  
  6924. in your /etc/rc.
  6925.  
  6926. If you don't have lpcntl get it from:
  6927.  
  6928. tsx-11.mit.edu:/pub/Linux/BETA/lp/lpirq.4.tar.Z
  6929.  
  6930.  
  6931.  XIV.23)  What's the difference between the polling driver and an the
  6932. interrupt driven one?
  6933.  
  6934. ANSWER: A polling sits in a loop repeatedly reading the port hardware
  6935. to see if it is ready for another character and then gives it one. An
  6936. interrupt driver goes to sleep and is woken by the port hardware
  6937. (using a hardware interrupt) when it wants another character. Polling
  6938. drivers are easier to write but in multitasking environments they are
  6939. a bad thing.)
  6940.  
  6941.  
  6942.  XIV.24)  How do I write filters?
  6943.  
  6944. ANSWER: In normal Unix terminology, filters are just programs (so they
  6945. must have execute permission) that read a stream from their standard
  6946. input and write to their standard output.
  6947.  
  6948. lpd filters are filters in the sense that thay read from their STDIN
  6949. and write to their STDOUT but are not necessarily true filters in that
  6950. they may assume that their standard input is a file and perform
  6951. lseek() operations on it. I'm not sure that such filters are strictly
  6952. conforming but they seem to work OK.
  6953.  
  6954. All lpd filters must conform to a particular command line syntax (or
  6955. more often simply ignore command line parameters). For details of the
  6956. command line parameters RTFM(printcap).
  6957.  
  6958. It's easier to debug filters if you test them in an immediate shell
  6959. before you install them. (If your filter make use of its command line
  6960. arguments you'll have to specify them too).
  6961.  
  6962. my-new-filter <file >/dev/lp1
  6963.  
  6964. If you want to write a shell script filter it must have a #!/bin/sh
  6965. header.  Here for example is my Epson FX-80 dvi filter:
  6966.  
  6967. #!/bin/sh
  6968. /usr/TeX/bin/dvips -f | \
  6969. /usr/bin/gs -q -sDEVICE=eps9high -r120x216 -dNOPAUSE -sOutputFile=- -
  6970.  
  6971.  
  6972.  XIV.25)  I've written a filter in shell script which works OK when I
  6973. use it from the shell prompt but fails when I tell lpd to use it?
  6974.  
  6975. ANSWER: You may need a #!/bin/sh header. You may also need to set PATH
  6976. within the script since the daemon's PATH may not have everything you
  6977. need.
  6978.  
  6979.  
  6980.  XIV.26)  When should I define an `of' filter?
  6981.  
  6982. ANSWER: Never. (Well strictly speaking there are circumstances but
  6983. you're unlikey to meet them until you're so familar with lpd that you
  6984. won't need this FAQ.)
  6985.  
  6986.  
  6987.  XIV.27)  Where do I get filters for given printers?
  6988.  
  6989. ANSWER: From BSD source archives (I think). [Editors note: I need a
  6990. better answer here ].
  6991.  
  6992. If you already have a program to print say DVI on your printer then
  6993. making it into a filter is usually a matter of writting trivial shell
  6994. script - see this FAQ. If the program you are using insists on reading
  6995. a names file as input see the next question. Text mode filters are
  6996. trivial too (see this FAQ) unless you want lpr to have a choice of
  6997. fonts in which case they are slightly harder than trivial.  You will
  6998. probably want to insert and `echo -ne' command at the beginning and
  6999. end of your filter to set up the font etc to your liking.
  7000.  
  7001.  
  7002.  XIV.28)  How do I get a program that won't read from STDIN to act as
  7003. a filter?
  7004.  
  7005. ANSWER: For example dvilj2p insists on a named file as its input (and
  7006. what's more expects one with a .dvi suffix). To make a dvi filter for
  7007. a laserjet you'll have to capture the STDIN into a temporary file.
  7008.  
  7009. #!/bin/sh
  7010. cat >/tmp/$$.dvi
  7011. dvilj2p /tmp/$$
  7012. rm /tmp/$$.dvi
  7013.  
  7014. The problem with this kludge is that is may have a very high disk
  7015. overhead. (In the long term dvilj2p should be fixed).
  7016.  
  7017.  
  7018.  XIV.29)  The set of filters supported by lpd seem strange - why
  7019. aren't there filters for Postscript, GIF, TIFF and so on?
  7020.  
  7021. ANSWER: History. You can, in fact, use any of the filters (with the
  7022. possible exception of the default filter) for any reason. If you're
  7023. never going to use Benson Varian raster files you could use the -v
  7024. switch for GIF files. If you are on a network remember that the filter
  7025. setups go on the print server so you will need to consider other
  7026. people's needs too. To avoid running out of possible types use magic
  7027. filters.
  7028.  
  7029.  
  7030.  XIV.30)  What are magic filters?
  7031.  
  7032. ANSWER: Magic filters deduce their input files' types from `magic
  7033. numbers' (distictive byte patterns at particular offsets).  Magic
  7034. filters are usually perl scripts, shell scripts or C programs that
  7035. simply identify the file type then call the appropriate non-magic
  7036. filter. Blatent plug :-) I <B.A.McCauley@bham.ac.uk> have a generic
  7037. magic filter bash script that selects the right filter to use based on
  7038. the output of the `file' command. With my magic ``dvi'' filter (and
  7039. existing separate dvi and ps filters) I can do things like:
  7040.  
  7041. lpr -d file1.dvi file2.div.Z file3.ps file4.ps.z
  7042.  
  7043. This is not yet on any anon-ftp sites so e-mail me for a copy. Once
  7044. it's stable and I've had a bit of (possitive) feedback I'll upload it.
  7045.  
  7046. Magic filters should never specified as `of' as the output filter only
  7047. gets called once if a number of files are printed without a gap.
  7048.  
  7049. Magic filters as `if' can also be a problem as they may prevent you,
  7050. say, _listing_ a PostScript or nroff file.
  7051.  
  7052.  
  7053.     ===================8<==========>8================
  7054.  
  7055.  
  7056. -- 
  7057. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7058. # LaBRI     |         #
  7059. #  351 cours de la Liberation    |  e-mail:  corsini@geocub.greco-prog.fr   #
  7060. #  33405 Talence Cedex   |  e-mail:  corsini@labri.u-bordeaux.fr    #
  7061. #       |         #
  7062. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7063. -- 
  7064.   There will be a sig when our local net is reliable.
  7065.         For now, I would rather stay anonymous.
  7066.